PHP est un langage de programmation Web populaire doté d'une riche bibliothèque de fonctions et de classes de date et d'heure pratiques et faciles à utiliser. Dans les applications PHP, nous devons souvent traiter des chaînes temporelles pour obtenir des horodatages pour les calculs et comparaisons ultérieurs. Cet article explique comment convertir une chaîne d'heure en horodatage.
1. Fonction strtotime
La fonction strtotime est la fonction de traitement de date et d'heure intégrée de PHP. Elle peut convertir certaines chaînes de date et d'heure courantes en horodatages Unix. Par exemple :
echo strtotime('2022-03-01 12:00:00'); // 1646083200
Cette fonction est très pratique et peut convertir directement la chaîne de format "année-mois-jour heure:minute:seconde" couramment utilisée en un horodatage. Dans le même temps, la fonction strtotime prend également en charge le format d'heure relative. Par exemple, vous pouvez saisir des chaînes telles que « demain » et « lundi prochain » pour obtenir l'horodatage correspondant.
echo strtotime('tomorrow'); // 明天此时时间的时间戳 echo strtotime('next Monday'); // 下个星期一此时时间的时间戳
Cependant, la fonction strtotime présente également certaines limites. Premièrement, il ne peut pas gérer certains formats date-heure non standard. Par exemple :
echo strtotime('2022年3月1日 12:00:00'); // false
Bien que cette chaîne représente également une date et une heure, la fonction strtotime ne peut pas l'analyser. Deuxièmement, la fonction strtotime peut obtenir des résultats erronés pour certains formats d'heure plus complexes. Par exemple, pour certaines chaînes qui ne contiennent pas d'informations sur le fuseau horaire, la fonction strtotime utilisera par défaut le fuseau horaire actuel pour l'analyse, ce qui peut entraîner des résultats incorrects.
2. Classe DateTime
La classe DateTime est un objet date et heure fourni par PHP. Elle fournit une multitude de méthodes pour traiter la date et l'heure, y compris le formatage de la date et de l'heure, la conversion du fuseau horaire, etc. En utilisant la classe DateTime lors du traitement des chaînes temporelles, nous pouvons nous assurer que nous obtenons l'horodatage correct.
$date = new DateTime('2022-03-01 12:00:00'); echo $date->getTimestamp(); // 1646083200
La classe DateTime peut accepter une variété de formats de chaînes de date et d'heure, et la méthode de traitement est très flexible et peut automatiquement reconnaître et convertir différents formats.
En plus de la méthode getTimestamp, la classe DateTime fournit également de nombreuses autres méthodes pour générer des chaînes de date et d'heure dans différents formats, ou effectuer des opérations telles que l'addition, la soustraction et la comparaison de la date et de l'heure.
$date = new DateTime('2022-03-01 12:00:00'); echo $date->format('Y-m-d H:i:s'); // '2022-03-01 12:00:00' $date->add(new DateInterval('P2D')); // 添加2天 echo $date->format('Y-m-d H:i:s'); // '2022-03-03 12:00:00' echo ($date > new DateTime('now')); // true
Résumé
Que vous utilisiez la fonction strtotime ou la classe DateTime, vous pouvez convertir une chaîne d'heure en horodatage. Pour les formats d’heure plus simples, la fonction strtotime est un meilleur choix car elle est très pratique. Mais si vous devez gérer des formats de date plus complexes, il est recommandé d'utiliser la classe DateTime pour obtenir une plus grande précision d'analyse.
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!