Um die Abfrageeffizienz zu verbessern, verwenden wir normalerweise einen Zeitstempel vom Typ int(11), um die Zeit zu speichern. Dies hat jedoch einen Nachteil. Der angezeigte Zeitstempel macht es schwierig, das tatsächliche Datum und die tatsächliche Uhrzeit zu ermitteln.
mysql bietet eine Zeitstempelformatierungsfunktion from_unixtime zum Konvertieren des Formats
from_unxitime Syntaxbeschreibung:
from_unixtime(unix_timestamp, format)
Gibt eine Zeichenfolge mit Unix-Zeitstempeln zurück, formatiert entsprechend dem Format. Wenn das Format nicht festgelegt ist, wird das Standardformat %Y-%m-%d %H:%i:%s
Zum Beispiel:
mysql> select from_unixtime(1459338786); +---------------------------+ | from_unixtime(1459338786) | +---------------------------+ | 2016-03-30 19:53:06 | +---------------------------+ 1 row in set (0.00 sec) mysql> select from_unixtime(1459338786, '%Y-%m-%d %H:%i:%s'); +------------------------------------------------+ | from_unixtime(1459338786, '%Y-%m-%d %H:%i:%s') | +------------------------------------------------+ | 2016-03-30 19:53:06 | +------------------------------------------------+ 1 row in set (0.00 sec)
Formatformatbeschreibung:
%M Monatsname ( Januar~Dezember)
%W Name des Wochentags (Sonntag~Samstag)
%D Tag des Monats mit englischem Präfix (1., 2., 3. usw.)
%Y Jahr , Zahl, 4 Ziffern
%y Jahr, Zahl, 2 Ziffern
%ein abgekürzter Name der Woche (Sonntag)
%d Anzahl der Tage im Monat, Zahl (00~ 31)
%e Anzahl der Tage im Monat, Zahl (0~31)
%m Monat, Zahl (01~12)
%c Monat, Zahl (1~12)
%b Abgekürzter Monatsname (Jan~Dez)
%j Tage im Jahr (001~366)
%H Stunden (00~23)
%k Stunden (0~ 23)
%h Stunden (01~12)
%I Stunden (01~12)
%l Stunden (1~12)
%i Minuten, Zahlen (00~ 59)
%r Zeit, 12 Stunden (hh:mm:ss [AP]M)
%T Zeit, 24 Stunden (hh:mm:ss)
%S Sekunden (00~ 59)
%s Sekunden (00~59)
%p AM oder PM
%w Anzahl der Tage in einer Woche (0=Sonntag~6=Samstag)
%U Woche (0~52), Hier ist Sonntag der erste Tag der Woche
%u Woche (0~52), Hier ist Montag der erste Tag der Woche
%% Ein Text%
Beispiel: Menge pro Stunde zählen
mysql> select from_unixtime(addtime,'%Y-%m-%d %H') as date,count(*) from `table` group by from_unixtime(addtime,'%Y-%m-%d %H');+---------------+----------+| date | count(*) |+---------------+----------+| 2016-03-30 19 | 409 || 2016-03-30 20 | 161 |+---------------+----------+2 rows in set (0.00 sec)
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die MySQL-Zeitstempelformatfunktion from_unixtime. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!