De MySQL FROM_UNIXTIME()
functie stelt u in staat om een datumweergave van een Unix-tijdstempel te retourneren.
Meer specifiek geeft het de Unix-tijdstempel terug als een waarde in ‘JJJJ-MM-DD UU:MM:SS’ of JJJJMMDDHHMMSS formaat, afhankelijk van of de functie in een tekenreeks of in een numerieke context wordt gebruikt.
Syntaxis
U kunt een van de volgende twee formulieren gebruiken:
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
De unix_timestamp
argument is een interne tijdstempelwaarde (dit kan bijvoorbeeld worden geproduceerd met de UNIX_TIMESTAMP()
functie).
Het (optionele) format
argument kunt u specificeren hoe het resultaat moet worden opgemaakt. Zie de tabel onderaan dit artikel voor geldige formaten.
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld om de eerste syntaxisvorm te demonstreren.
SELECT FROM_UNIXTIME(946562400) AS Result;
Resultaat:
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
Voorbeeld 2 – Fractionele seconden
In dit voorbeeld geef ik een argument dat fracties van seconden bevat.
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
Resultaat:
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
Voorbeeld 3 – Het resultaat opmaken
In dit voorbeeld geef ik een tweede argument dat aangeeft hoe het resultaat moet worden opgemaakt.
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
Resultaat:
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
En hier is er een die het tijdsgedeelte in de opmaak opneemt:
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
Resultaat:
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
Voorbeeld 4 – Numerieke context
Als FROM_UNIXTIME()
wordt gebruikt in een numerieke context, de resulterende datum wordt geleverd in numeriek formaat.
Hier is een voorbeeld dat resultaten vergelijkt bij gebruik in een tekenreekscontext versus numeriek.
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
Resultaat:
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
Beschikbare specificaties
De volgende specificaties kunnen worden gebruikt om het retourformaat te specificeren. De formaatwaarde moet beginnen met een procentteken (%
).
Beschrijving | Beschrijving |
---|---|
%a | Afgekorte naam van de weekdag (Sun ..Sat ) |
%b | Afgekorte maandnaam (Jan ..Dec ) |
%c | Maand, numeriek (0 ..12 ) |
%D | Dag van de maand met Engels achtervoegsel (0th , 1st , 2nd , 3rd , …) |
%d | Dag van de maand, numeriek (00 ..31 ) |
%e | Dag van de maand, numeriek (0 ..31 ) |
%f | Microseconden (000000 ..999999 ) |
%H | Uur (00 ..23 ) |
%h | Uur (01 ..12 ) |
%I | Uur (01 ..12 ) |
%i | Minuten, numeriek (00 ..59 ) |
%j | Dag van het jaar (001 ..366 ) |
%k | Uur (0 ..23 ) |
%l | Uur (1 ..12 ) |
%M | Maandnaam (January ..December ) |
%m | Maand, numeriek (00 ..12 ) |
%p | AM of PM |
%r | Tijd, 12 uur (hh:mm:ss gevolgd door AM of PM ) |
%S | Seconden (00 ..59 ) |
%s | Seconden (00 ..59 ) |
%T | Tijd, 24 uur (hh:mm:ss ) |
%U | Week (00 ..53 ), waarbij zondag de eerste dag van de week is; WEEK() modus 0 |
%u | Week (00 ..53 ), waarbij maandag de eerste dag van de week is; WEEK() modus 1 |
%V | Week (01 ..53 ), waarbij zondag de eerste dag van de week is; WEEK() modus 2; gebruikt met %X |
%v | Week (01 ..53 ), waarbij maandag de eerste dag van de week is; WEEK() modus 3; gebruikt met %x |
%W | Naam weekdag (Sunday ..Saturday ) |
%w | Dag van de week (0 =Zondag..6 =zaterdag) |
%X | Jaar voor de week waarin zondag de eerste dag van de week is, numeriek, vier cijfers; gebruikt met %V |
%x | Jaar voor de week, waarbij maandag de eerste dag van de week is, numeriek, vier cijfers; gebruikt met %v |
%Y | Jaar, numeriek, vier cijfers |
%y | Jaar, numeriek (twee cijfers) |
%% | Een letterlijke % karakter |
% | x , voor elke “x ” niet hierboven vermeld |