L'horodatage fait référence au nombre de secondes depuis 0:00:00 du 1er janvier 1970 jusqu'à nos jours. Il est largement utilisé dans le domaine informatique. En PHP, l'utilisation d'horodatages est également très courante, donc apprendre à convertir des horodatages est également l'une des compétences essentielles pour les débutants PHP.
1. Convertir l'horodatage en chaîne temporelle
Pour convertir l'horodatage en chaîne temporelle, vous pouvez utiliser la fonction date(). Le premier paramètre de la fonction date() est la chaîne de format, suivie de l'horodatage. Voici un exemple :
$timestamp = time(); //获取当前时间戳 $timeStr = date("Y-m-d H:i:s", $timestamp); //将时间戳转换为时间字符串,格式为“年-月-日 时:分:秒” echo $timeStr; //输出“2021-11-11 11:11:11”
Dans le code ci-dessus, "Y" représente l'année, "m" représente le mois, "d" représente la date, "H" représente l'heure, "i" représente la minute et " s" représente la seconde.
2. Convertir une chaîne de temps en horodatage
Pour convertir une chaîne de temps en horodatage, vous pouvez utiliser la fonction strtotime(). Voici un exemple :
$timeStr = "2021-11-11 11:11:11"; $timestamp = strtotime($timeStr); //将时间字符串转换为时间戳 echo $timestamp; //输出“1636621871”
3. Problème de fuseau horaire
En PHP, le fuseau horaire joue un rôle très important. Si votre serveur est situé dans le huitième district Est et que votre client est situé dans le cinquième district Ouest, le temps dont dispose le client sera certainement 13 heures plus lent que le vôtre.
Cependant, PHP fournit les fonctions correspondantes pour résoudre les problèmes de fuseau horaire. Nous pouvons utiliser la fonction date_default_timezone_set() pour changer le fuseau horaire par défaut. Voici un exemple :
date_default_timezone_set('Asia/Shanghai'); //设置时区为东八区 $timestamp = time(); //获取当前时间戳 $timeStr = date("Y-m-d H:i:s", $timestamp); //将时间戳转换为时间字符串,格式为“年-月-日 时:分:秒” echo $timeStr; //输出“2021-11-11 11:11:11”
Dans le code ci-dessus, le fuseau horaire est défini sur "Asia/Shanghai", qui correspond au huitième district de l'Est.
4. Classe d'outil de conversion d'horodatage
Si vous avez besoin de convertir fréquemment des horodatages et des chaînes de temps dans votre projet, vous pouvez envisager d'encapsuler une classe d'outil de conversion d'horodatage. Ce qui suit est une classe d'outil de conversion d'horodatage simple :
class TimestampConverter{ /** * 时间戳转换为时间字符串 * @param $timestamp 时间戳 * @param string $format 格式化字符串 * @return false|string */ public static function timestampToStr($timestamp, $format = "Y-m-d H:i:s") { date_default_timezone_set('Asia/Shanghai'); return date($format, $timestamp); } /** * 时间字符串转换为时间戳 * @param $timeStr 时间字符串 * @return false|int */ public static function strToTimestamp($timeStr) { date_default_timezone_set('Asia/Shanghai'); return strtotime($timeStr); } }
Dans le code ci-dessus, nous avons mis les méthodes de conversion des horodatages en chaînes temporelles et des chaînes temporelles en horodatages dans une classe pour faciliter la gestion et la maintenance.
Résumé
Cet article explique comment convertir l'horodatage en chaîne temporelle, convertir la chaîne temporelle en horodatage et les problèmes liés au fuseau horaire. De plus, nous fournissons également un exemple de classe d'outil de conversion d'horodatage, qui, nous l'espérons, sera utile aux débutants en PHP.
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!