MySQL FROM_UNIXTIME()
funktionen giver dig mulighed for at returnere en datorepræsentation af et Unix-tidsstempel.
Mere specifikt returnerer det Unix-tidsstemplet som en værdi i 'ÅÅÅÅ-MM-DD TT:MM:SS' eller ÅÅÅÅMMDDHHMMSS format, afhængigt af om funktionen bruges i en streng eller numerisk kontekst.
Syntaks
Du kan bruge en af følgende to former:
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
unix_timestamp
argument er en intern tidsstempelværdi (denne kunne f.eks. produceres med UNIX_TIMESTAMP()
funktion).
Det (valgfrie) format
argument giver dig mulighed for at angive, hvordan resultatet skal formateres. Se tabellen nederst i denne artikel for gyldige formater.
Eksempel 1 – Grundlæggende brug
Her er et eksempel til at demonstrere den første syntaksform.
SELECT FROM_UNIXTIME(946562400) AS Result;
Resultat:
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
Eksempel 2 – Brøkdele sekunder
I dette eksempel giver jeg et argument, der inkluderer brøkdele af sekunder.
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
Resultat:
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
Eksempel 3 – Formatering af resultatet
I dette eksempel giver jeg et andet argument, som specificerer, hvordan resultatet skal formateres.
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
Resultat:
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
Og her er en, der inkluderer tidsdelen i formateringen:
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
Resultat:
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
Eksempel 4 – Numerisk kontekst
Hvis FROM_UNIXTIME()
bruges i en numerisk kontekst, angives den resulterende dato i numerisk format.
Her er et eksempel, der sammenligner resultater, når de bruges i en strengkontekst kontra numerisk.
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
Resultat:
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
Tilgængelige specifikationer
Følgende specifikationer kan bruges til at angive returformatet. Formatværdien skal starte med et procenttegn (%
).
Specifier | Beskrivelse |
---|---|
%a | Forkortet ugedagsnavn (Sun ..Sat ) |
%b | Forkortet månedsnavn (Jan ..Dec ) |
%c | Måned, numerisk (0 ..12 ) |
%D | Dag i måneden med engelsk suffiks (0th , 1st , 2nd , 3rd , …) |
%d | Dag i måneden, numerisk (00 ..31 ) |
%e | Dag i måneden, numerisk (0 ..31 ) |
%f | Mikrosekunder (000000 ..999999 ) |
%H | Time (00 ..23 ) |
%h | Time (01 ..12 ) |
%I | Time (01 ..12 ) |
%i | Minutter, numerisk (00 ..59 ) |
%j | Dag i året (001 ..366 ) |
%k | Time (0 ..23 ) |
%l | Time (1 ..12 ) |
%M | Månedens navn (January ..December ) |
%m | Måned, numerisk (00 ..12 ) |
%p | AM eller PM |
%r | Tid, 12 timer (hh:mm:ss efterfulgt af AM eller PM ) |
%S | Sekunder (00 ..59 ) |
%s | Sekunder (00 ..59 ) |
%T | Tid, 24 timer (hh:mm:ss ) |
%U | Uge (00 ..53 ), hvor søndag er den første dag i ugen; WEEK() tilstand 0 |
%u | Uge (00 ..53 ), hvor mandag er den første dag i ugen; WEEK() tilstand 1 |
%V | Uge (01 ..53 ), hvor søndag er den første dag i ugen; WEEK() tilstand 2; brugt med %X |
%v | Uge (01 ..53 ), hvor mandag er den første dag i ugen; WEEK() tilstand 3; brugt med %x |
%W | Ugedagsnavn (Sunday ..Saturday ) |
%w | Ugedag (0 =søndag..6 =lørdag) |
%X | År for ugen, hvor søndag er den første dag i ugen, numerisk, fire cifre; bruges med %V |
%x | År for ugen, hvor mandag er den første dag i ugen, numerisk, fire cifre; brugt med %v |
%Y | Årtal, numerisk, fire cifre |
%y | År, numerisk (to cifre) |
%% | En bogstavelig % tegn |
% | x , for enhver "x ” ikke angivet ovenfor |