Die MySQL FROM_UNIXTIME()
Mit der Funktion können Sie eine Datumsdarstellung eines Unix-Zeitstempels zurückgeben.
Genauer gesagt gibt es den Unix-Zeitstempel als Wert in ‘YYYY-MM-DD HH:MM:SS’ zurück oder JJJJMMTTHHMMSS Format, abhängig davon, ob die Funktion in einem String- oder numerischen Kontext verwendet wird.
Syntax
Sie können eine der beiden folgenden Formen verwenden:
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
Der unix_timestamp
argument ist ein interner Zeitstempelwert (dieser könnte beispielsweise mit UNIX_TIMESTAMP()
erzeugt werden Funktion).
Das (optionale) format
Mit dem Argument können Sie angeben, wie das Ergebnis formatiert werden soll. Gültige Formate finden Sie in der Tabelle am Ende dieses Artikels.
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel, um die erste Syntaxform zu demonstrieren.
SELECT FROM_UNIXTIME(946562400) AS Result;
Ergebnis:
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
Beispiel 2 – Sekundenbruchteile
In diesem Beispiel gebe ich ein Argument an, das Sekundenbruchteile enthält.
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
Ergebnis:
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
Beispiel 3 – Formatieren des Ergebnisses
In diesem Beispiel gebe ich ein zweites Argument an, das angibt, wie das Ergebnis formatiert werden soll.
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
Ergebnis:
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
Und hier ist einer, der den Zeitteil in der Formatierung enthält:
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
Ergebnis:
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
Beispiel 4 – Numerischer Kontext
Wenn FROM_UNIXTIME()
in einem numerischen Kontext verwendet wird, wird das resultierende Datum im numerischen Format bereitgestellt.
Hier ist ein Beispiel, das Ergebnisse vergleicht, wenn sie in einem String-Kontext mit numerischen verwendet werden.
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
Ergebnis:
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
Verfügbare Spezifizierer
Die folgenden Bezeichner können verwendet werden, um das Rückgabeformat anzugeben. Der Formatwert muss mit einem Prozentzeichen beginnen (%
).
Bezeichner | Beschreibung |
---|---|
%a | Abgekürzter Name des Wochentags (Sun ..Sat ) |
%b | Abgekürzter Monatsname (Jan ..Dec ) |
%c | Monat, numerisch (0 ..12 ) |
%D | Tag des Monats mit englischem Suffix (0th , 1st , 2nd , 3rd , …) |
%d | Tag des Monats, numerisch (00 ..31 ) |
%e | Tag des Monats, numerisch (0 ..31 ) |
%f | Mikrosekunden (000000 ..999999 ) |
%H | Stunde (00 ..23 ) |
%h | Stunde (01 ..12 ) |
%I | Stunde (01 ..12 ) |
%i | Minuten, numerisch (00 ..59 ) |
%j | Tag des Jahres (001 ..366 ) |
%k | Stunde (0 ..23 ) |
%l | Stunde (1 ..12 ) |
%M | Monatsname (January ..Dec ) |
%m | Monat, numerisch (00 ..12 ) |
%p | AM oder PM |
%r | Zeit, 12 Stunden (hh:mm:ss gefolgt von AM oder PM ) |
%S | Sekunden (00 ..59 ) |
%s | Sekunden (00 ..59 ) |
%T | Uhrzeit, 24 Stunden (hh:mm:ss ) |
%U | Woche (00 ..53 ), wobei Sonntag der erste Tag der Woche ist; WEEK() Modus 0 |
%u | Woche (00 ..53 ), wobei Montag der erste Tag der Woche ist; WEEK() Modus 1 |
%V | Woche (01 ..53 ), wobei Sonntag der erste Tag der Woche ist; WEEK() Modus 2; verwendet mit %X |
%v | Woche (01 ..53 ), wobei Montag der erste Tag der Woche ist; WEEK() Modus 3; verwendet mit %x |
%W | Name des Wochentags (Sunday ..Saturday ) |
%w | Wochentag (0 =Sonntag..6 =Samstag) |
%X | Jahr für die Woche, in der Sonntag der erste Wochentag ist, numerisch, vierstellig; verwendet mit %V |
%x | Jahr für die Woche, wobei Montag der erste Wochentag ist, numerisch, vierstellig; verwendet mit %v |
%Y | Jahr, numerisch, vierstellig |
%y | Jahr, numerisch (zweistellig) |
%% | Ein Literal % Charakter |
% | x , für jeden „x ” oben nicht aufgeführt |