Dans le développement PHP, les opérations de date et d'heure sont un élément essentiel. Qu'il s'agisse de traiter l'heure d'enregistrement des utilisateurs ou d'enregistrer l'heure de publication de l'article, la date et l'heure doivent être traitées. Cet article présentera en détail comment gérer la date et l'heure en PHP, dans l'espoir d'aider les développeurs PHP.
1. Timestamp
Timestamp est une méthode d'expression du temps en secondes, faisant généralement référence au nombre de secondes entre 00:00:00 UTC le 1er janvier 1970 et l'heure actuelle. En PHP, vous pouvez utiliser la fonction time() pour obtenir l'horodatage actuel :
echo time();
Sortie :
1602603419
Il est à noter que la fonction time() renvoie l'horodatage dans le fuseau horaire du serveur actuel. Si vous avez besoin d'obtenir l'horodatage dans un fuseau horaire spécifié, vous pouvez utiliser un objet DateTime pour la conversion, qui sera présenté ultérieurement.
2. Formatage de la date
Pour les horodatages, nous pouvons utiliser la fonction date() pour les formater dans la chaîne de date dont nous avons besoin. Le premier paramètre de la fonction date() est le format de date, qui peut contenir divers espaces réservés pour représenter différents éléments de date et d'heure. Voici quelques-uns des espaces réservés les plus couramment utilisés :
Espace réservé | Description |
---|---|
A | Année, quatre chiffres |
m | Mois, deux chiffres |
d | Date, deux chiffres |
H | Heure, deux chiffres, format 24 heures |
i | Minutes, deux chiffres |
s | Secondes, deux chiffres |
Par exemple, convertir l'horodatage au format année, mois et jour :
echo date('Y-m-d', time());
Sortie :
2020-10-13
Convertir l'horodatage au format date/heure avec heures, minutes et secondes :
echo date('Y-m-d H:i:s', time());
Sortie :
2020-10-13 09:43:39
3. Calcul de la date
Pendant le développement, parfois, vous devez ajouter ou soustraire des dates, par exemple pour obtenir la date 10 jours plus tard. PHP fournit la classe DateTime pour des calculs de dates pratiques.
Vous devez d'abord créer un objet DateTime. Vous pouvez passer une chaîne de date dans le constructeur, ou utiliser la méthode createFromFormat() pour créer un objet selon le format spécifié :
$dateTime = new DateTime('2020-10-13'); // 或者 $dateTime = DateTime::createFromFormat('Y-m-d', '2020-10-13');
Ensuite, vous pouvez utiliser add(). et la méthode sub() Des opérations d'addition et de soustraction sont effectuées. Par exemple, obtenez la date 10 jours plus tard :
$dateTime->add(new DateInterval('P10D')); echo $dateTime->format('Y-m-d');
Sortie :
2020-10-23
Parmi eux, P10D représente le préfixe P (représentant l'intervalle de temps), et 10 représente le nombre de jours dans l'intervalle.
De plus, vous pouvez également utiliser la méthode modifier() pour ajouter et soustraire des dates. Par exemple, obtenez l'heure 3 heures plus tard :
$dateTime->modify('+3 hours'); echo $dateTime->format('Y-m-d H:i:s');
Sortie :
2020-10-13 12:43:39
4. Traitement des fuseaux horaires
En PHP, les horodatages et les chaînes de date et d'heure sont liés aux fuseaux horaires. Par défaut, PHP utilise le paramètre de fuseau horaire du serveur. Cependant, pendant le développement, vous devrez peut-être gérer des heures dans différents fuseaux horaires, auquel cas le fuseau horaire devra être traité.
En PHP, vous pouvez utiliser la fonction date_default_timezone_set() pour définir le fuseau horaire, par exemple :
date_default_timezone_set('Asia/Shanghai');
Après le réglage, tous les lieux qui utilisent la fonction date() pour obtenir la date et l'heure utiliseront le fuseau horaire spécifié. De même, pour le traitement de l'horodatage, la classe DateTime et les méthodes associées doivent également être utilisées pour éviter les problèmes de fuseau horaire.
De plus, si vous devez effectuer une conversion entre différents fuseaux horaires, vous pouvez également utiliser la méthode setTimeZone() et la méthode getTimeZone() fournies par la classe DateTime. Par exemple, convertissez un objet date et heure dans le fuseau horaire actuel en un objet date et heure dans un autre fuseau horaire :
$dateTime = new DateTime('2020-10-13 09:43:39', new DateTimeZone('Asia/Shanghai')); echo $dateTime->format('Y-m-d H:i:s'); // 输出:2020-10-13 09:43:39 $dateTime->setTimeZone(new DateTimeZone('America/New_York')); echo $dateTime->format('Y-m-d H:i:s'); // 输出:2020-10-12 21:43:39
Définissez le fuseau horaire cible via la méthode setTimeZone(), puis formatez-le en chaîne via le format () méthode.
5. Résumé
Cet article présente les opérations de date et d'heure en PHP, y compris les horodatages, le formatage de la date, les calculs de date et le traitement des fuseaux horaires. Dans le développement réel, la maîtrise de ces opérations est très utile et peut améliorer l’efficacité du développement et la robustesse des programmes. J'espère que cet article sera utile aux développeurs 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!