MySQL FROM_UNIXTIME()
la funzione ti consente di restituire una rappresentazione della data di un timestamp Unix.
Più specificamente, restituisce il timestamp Unix come valore in 'YYYY-MM-DD HH:MM:SS' o AAAAMMGGHHMMSS formato, a seconda che la funzione sia utilizzata in un contesto stringa o numerico.
Sintassi
Puoi utilizzare uno dei seguenti due moduli:
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
Il unix_timestamp
argomento è un valore di timestamp interno (ad esempio, questo potrebbe essere prodotto con UNIX_TIMESTAMP()
funzione).
Il format
(opzionale). argomento consente di specificare come formattare il risultato. Consulta la tabella in fondo a questo articolo per i formati validi.
Esempio 1 – Utilizzo di base
Ecco un esempio per dimostrare il primo modulo di sintassi.
SELECT FROM_UNIXTIME(946562400) AS Result;
Risultato:
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
Esempio 2 – Secondi frazionari
In questo esempio, fornisco un argomento che include secondi frazionari.
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
Risultato:
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
Esempio 3 – Formattazione del risultato
In questo esempio, fornisco un secondo argomento, che specifica come deve essere formattato il risultato.
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
Risultato:
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
Ed eccone uno che include la parte temporale nella formattazione:
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
Risultato:
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
Esempio 4 – Contesto numerico
Se FROM_UNIXTIME()
viene utilizzato in un contesto numerico, la data risultante viene fornita in formato numerico.
Ecco un esempio che confronta i risultati quando vengono utilizzati in un contesto di stringa rispetto a quelli numerici.
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
Risultato:
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
Specificatori disponibili
I seguenti specificatori possono essere utilizzati per specificare il formato di ritorno. Il valore del formato deve iniziare con un segno di percentuale (%
).
Specificatore | Descrizione |
---|---|
%a | Nome abbreviato del giorno della settimana (Sun ..Sat ) |
%b | Nome abbreviato del mese (Jan ..Dec ) |
%c | Mese, numerico (0 ..12 ) |
%D | Giorno del mese con suffisso inglese (0th , 1st , 2nd , 3rd , …) |
%d | Giorno del mese, numerico (00 ..31 ) |
%e | Giorno del mese, numerico (0 ..31 ) |
%f | Microsecondi (000000 ..999999 ) |
%H | Ora (00 ..23 ) |
%h | Ora (01 ..12 ) |
%I | Ora (01 ..12 ) |
%i | Minuti, numerici (00 ..59 ) |
%j | Giorno dell'anno (001 ..366 ) |
%k | Ora (0 ..23 ) |
%l | Ora (1 ..12 ) |
%M | Nome del mese (January ..December ) |
%m | Mese, numerico (00 ..12 ) |
%p | AM o PM |
%r | Ora, 12 ore (hh:mm:ss seguito da AM o PM ) |
%S | Secondi (00 ..59 ) |
%s | Secondi (00 ..59 ) |
%T | Ora, 24 ore (hh:mm:ss ) |
%U | Settimana (00 ..53 ), dove domenica è il primo giorno della settimana; WEEK() modalità 0 |
%u | Settimana (00 ..53 ), dove lunedì è il primo giorno della settimana; WEEK() modalità 1 |
%V | Settimana (01 ..53 ), dove domenica è il primo giorno della settimana; WEEK() modalità 2; utilizzato con %X |
%v | Settimana (01 ..53 ), dove lunedì è il primo giorno della settimana; WEEK() modalità 3; utilizzato con %x |
%W | Nome del giorno della settimana (Sunday ..Saturday ) |
%w | Giorno della settimana (0 =Domenica..6 =sabato) |
%X | Anno per la settimana in cui domenica è il primo giorno della settimana, numerico, a quattro cifre; utilizzato con %V |
%x | Anno della settimana, dove lunedì è il primo giorno della settimana, numerico, a quattro cifre; usato con %v |
%Y | Anno, numerico, quattro cifre |
%y | Anno, numerico (due cifre) |
%% | Un letterale % carattere |
% | x , per qualsiasi “x ” non elencato sopra |