Récupération des différences d'horodatage en secondes à partir de MySQL
Déterminer la différence de temps entre deux horodatages est une tâche courante de base de données. MySQL fournit des fonctions natives qui simplifient ce calcul, éliminant ainsi le besoin de conversions manuelles en PHP. Cet article explore deux méthodes pour obtenir la différence en secondes entre les horodatages à l'aide de MySQL.
Méthode 1 : TIMEDIFF() et TIME_TO_SEC()
La fonction TIMEDIFF() calcule la différence entre deux horodatages et renvoie un résultat dans le type de données TIME. Ce type de données contient des intervalles de temps et va de « -838:59:59 » à « 838:59:59 ». Pour convertir la valeur TIME en secondes, la fonction TIME_TO_SEC() est utilisée.
Exemple :
SELECT TIME_TO_SEC(TIMEDIFF('2010-08-20 12:01:00', '2010-08-20 12:00:00')) diff;
Le résultat sera de 60 secondes, représentant le décalage horaire entre les horodatages donnés.
Méthode 2 : UNIX_TIMESTAMP()
La fonction UNIX_TIMESTAMP() récupère le nombre de secondes écoulées depuis le début de l'époque Unix (1er janvier 1970 UTC). Grâce à cette fonction, la différence entre deux horodatages peut être calculée en soustrayant simplement l'horodatage le plus ancien du plus récent.
Exemple :
SELECT UNIX_TIMESTAMP('2010-08-20 12:01:00') - UNIX_TIMESTAMP('2010-08-20 12:00:00') diff;
Cette méthode est légèrement plus rapide lorsque vous travaillez avec le type de données TIMESTAMP, car les valeurs TIMESTAMP sont stockées en interne sous la forme d'un entier représentant l'heure 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!