1. Comparaison des horodatages UNIX et des horodatages MySQL
L'horodatage Unix représente le nombre de secondes qui se sont écoulées depuis le 1er janvier 1970, qui est une méthode Unix de représenter le temps dans le système. Dans de nombreuses applications Unix, les horodatages sont souvent représentés sous forme d'entiers. Par exemple, en PHP et Java, utilisez la fonction time() pour obtenir l'horodatage UNIX actuel.
MySQL prend en charge les formats d'horodatage complexes, tels que ANNÉE, MOIS, JOUR, etc. Ces horodatages peuvent être combinés avec la date et l'heure. MySQL prend en charge les horodatages au format d'horodatage UNIX, qui est le même format que les horodatages sous Unix.
2. Convertir l'horodatage UNIX en horodatage MySQL
La conversion entre l'horodatage UNIX et l'horodatage MySQL est un problème courant. Dans la base de données MySQL, le format de l'horodatage est "AAAA-MM-JJ HH:MI:SS", tandis que sous Unix, le format de l'horodatage est un entier en secondes. Voyons comment convertir les horodatages UNIX en horodatages MySQL.
Méthode 1 : Utilisez la fonction FROM_UNIXTIME()
MySQL fournit une fonction appelée FROM_UNIXTIME(), qui peut convertir les horodatages UNIX en horodatages MySQL. Cette fonction accepte un paramètre entier, représentant le nombre de secondes depuis "1970-01-01 00:00:00" (heure UTC).
Par exemple, si nous voulons convertir l'horodatage Unix 1587211731 en horodatage MySQL, nous pouvons utiliser l'instruction suivante :
SELECT FROM_UNIXTIME(1587211731,'%Y-%m-%d %H:%i:%s');
Le résultat sera :
2020-04-18 20:35:31
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y-%m-%d %H:%i:%s');
SELECT DATE_FORMAT(FROM_UNIXTIME(1587211731),'%Y-%m-%d %H:%i:%s');
2020-04-18 20:35:31
L'horodatage MySQL peut être converti au format d'horodatage UNIX via la fonction UNIX_TIMESTAMP(). Cette fonction accepte un paramètre de date ou d'heure et renvoie le nombre de secondes depuis "1970-01-01 00:00:00" (heure UTC).
Par exemple, si nous voulons convertir l'horodatage MySQL 2020-04-18 20:35:31 en un horodatage UNIX, nous pouvons utiliser l'instruction suivante :
SELECT UNIX_TIMESTAMP('2020-04-18 20:35:31');
Le résultat sera :
1587211731
Si nous voulons convertir l'heure actuelle en horodatage UNIX, nous pouvons utiliser l'instruction suivante :
SELECT UNIX_TIMESTAMP(NOW());
Cette instruction obtiendra l'heure actuelle et convertissez-le en horodatage UNIX.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!