MySQL FROM_UNIXTIME()
La fonction vous permet de renvoyer une représentation de date d'un horodatage Unix.
Plus précisément, il renvoie l'horodatage Unix sous la forme d'une valeur dans 'YYYY-MM-DD HH:MM:SS' ou AAAAMMJJHHMMSS format, selon que la fonction est utilisée dans un contexte de chaîne ou numérique.
Syntaxe
Vous pouvez utiliser l'un des deux formulaires suivants :
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
Le unix_timestamp
l'argument est une valeur d'horodatage interne (par exemple, cela pourrait être produit avec le UNIX_TIMESTAMP()
fonction).
Le format
(optionnel) L'argument vous permet de spécifier comment le résultat doit être formaté. Consultez le tableau au bas de cet article pour connaître les formats valides.
Exemple 1 - Utilisation de base
Voici un exemple pour illustrer la première forme de syntaxe.
SELECT FROM_UNIXTIME(946562400) AS Result;
Résultat :
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
Exemple 2 – Fraction de seconde
Dans cet exemple, je fournis un argument qui inclut des fractions de secondes.
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
Résultat :
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
Exemple 3 - Formatage du résultat
Dans cet exemple, je fournis un deuxième argument, qui spécifie comment le résultat doit être formaté.
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
Résultat :
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
Et en voici une qui inclut la partie heure dans le format :
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
Résultat :
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
Exemple 4 – Contexte numérique
Si FROM_UNIXTIME()
est utilisé dans un contexte numérique, la date résultante est fournie au format numérique.
Voici un exemple qui compare les résultats lorsqu'ils sont utilisés dans un contexte de chaîne par rapport à numérique.
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
Résultat :
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
Spécifications disponibles
Les spécificateurs suivants peuvent être utilisés pour spécifier le format de retour. La valeur de format doit commencer par un signe de pourcentage (%
).
Spécificateur | Description |
---|---|
%a | Nom abrégé du jour de la semaine (Sun ..Sat ) |
%b | Nom abrégé du mois (Jan ..Dec ) |
%c | Mois, numérique (0 ..12 ) |
%D | Jour du mois avec suffixe anglais (0th , 1st , 2nd , 3rd , …) |
%d | Jour du mois, numérique (00 ..31 ) |
%e | Jour du mois, numérique (0 ..31 ) |
%f | Microsecondes (000000 ..999999 ) |
%H | Heure (00 ..23 ) |
%h | Heure (01 ..12 ) |
%I | Heure (01 ..12 ) |
%i | Minutes, numérique (00 ..59 ) |
%j | Jour de l'année (001 ..366 ) |
%k | Heure (0 ..23 ) |
%l | Heure (1 ..12 ) |
%M | Nom du mois (January ..December ) |
%m | Mois, numérique (00 ..12 ) |
%p | AM ou PM |
%r | Heure, 12 heures (hh:mm:ss suivi de AM ou PM ) |
%S | Secondes (00 ..59 ) |
%s | Secondes (00 ..59 ) |
%T | Heure, 24 heures (hh:mm:ss ) |
%U | Semaine (00 ..53 ), où dimanche est le premier jour de la semaine ; WEEK() mode 0 |
%u | Semaine (00 ..53 ), où lundi est le premier jour de la semaine ; WEEK() mode 1 |
%V | Semaine (01 ..53 ), où dimanche est le premier jour de la semaine ; WEEK() mode 2 ; utilisé avec %X |
%v | Semaine (01 ..53 ), où lundi est le premier jour de la semaine ; WEEK() mode 3 ; utilisé avec %x |
%W | Nom du jour de la semaine (Sunday ..Saturday ) |
%w | Jour de la semaine (0 =dimanche..6 =Samedi) |
%X | Année de la semaine où dimanche est le premier jour de la semaine, numérique, quatre chiffres ; utilisé avec %V |
%x | Année de la semaine, où lundi est le premier jour de la semaine, numérique, quatre chiffres ; utilisé avec %v |
%Y | Année, numérique, quatre chiffres |
%y | Année, numérique (deux chiffres) |
%% | Un % littéral personnage |
% | x , pour tout "x ” non listé ci-dessus |