Maison  >  Article  >  développement back-end  >  Opérations de date et d'heure PHP

Opérations de date et d'heure PHP

angryTom
angryTomavant
2019-10-14 16:52:253082parcourir

La date et l'heure sont généralement utilisées pour l'affichage et les restrictions conditionnelles dans les langages de programmation. Plus précisément, vous souhaiterez peut-être afficher l'heure dans un certain format, afficher l'heure dans un certain fuseau horaire, obtenir l'heure après une semaine, obtenir l'horodatage du début de cette semaine, convertir l'heure dans un certain format dans un autre. , etc. attendez.

1. Afficher l'heure actuelle

Utiliser la fonction date au format date(format[, timestamp]), qui accepte deux paramètres , Le premier paramètre est une chaîne de format d'heure et le deuxième paramètre est un horodatage. L'horodatage est facultatif. S'il n'est pas renseigné, ce sera l'horodatage de l'heure actuelle.

echo date('Y-m-d H:i:s');  // 2018-12-25 09:31:22

Ainsi, vous pouvez imprimer l'année, le mois, le jour, l'heure, les minutes et les secondes en cours. Bien sûr, vous pouvez également imprimer l'heure dans d'autres formats en fonction de la chaîne de format :

echo date('l dS \of F Y h:i:s A');  // Tuesday 25th of December2018 09:34:54 AM
<.>Expliquez ce qui est utilisé ci-dessus Caractères de format :

Y Année complète, 4 chiffres

m Mois avec 0 en tête

d Le jour du mois, précédé de 0

H Heure au format 24 heures, précédé de 0

i Minute, avec 0

s secondes, avec 0

l La version anglaise complète du jour de la semaine (notez les minuscules L, pas le i majuscule)

S Le suffixe du jour du mois (peut être st, nd, rd, th)

F L'anglais complet du mois

h Heure au format 12 heures, avec 0 en tête

A Matin ou après-midi (AM ou PM)

Ceci n'est qu'une liste. Pour certains d'entre eux, vous pouvez consulter le manuel officiel pour un format de caractères plus complet.

2. Afficher le monde dans un certain fuseau horaire

Par exemple, en définissant le fuseau horaire, nous pouvons obtenir l'heure dans le États-Unis :

date_default_timezone_set("America/New_York");
echo date(&#39;Y-m-d H:i:s&#39;);  // 2018-12-24 20:54:36

Ce qui précède est le monde de New York, États-Unis. Vous pouvez consulter la documentation PHP pour la chaîne requise par le fuseau horaire. Si elle est illégale, un avertissement sera généré en même temps. heure, le fuseau horaire ne sera pas défini correctement, mais le fuseau horaire par défaut sera utilisé.

3. L'heure calculée

Par exemple, l'heure au début de cette semaine, au début de ce mois, l'heure d'après une semaine, etc., vous pouvez utiliser la fonction strtotime pour le faire pour nous.

strtotime(time[, now = time()]) peut convertir n'importe quelle chaîne décrivant l'heure et la date en un horodatage Unix. Le premier paramètre est la chaîne de description et le deuxième paramètre est utilisé pour calculer l'horodatage (par défaut. à l'horodatage actuel). Vous pouvez voir dans la description qu'il s'agit d'une fonction très flexible, mais sachez que c'est une fonction après tout. Elle n'est pas si intelligente qu'elle puisse comprendre "n'importe quelle" chaîne décrivant l'heure. Elle a quand même besoin d'un format spécifique - en particulier dans. La Chine, ne vous attendez pas à ce qu’elle comprenne ce que signifie le « 25 décembre 2018 ». Mais il reste très puissant et peut remplir toutes les fonctions décrites ci-dessus.

echo &#39;下个星期的时间:&#39; . date(&#39;Y-m-d H:i:s&#39;, strtotime(&#39;+1 week&#39;));  // 下个星期的时间:2019-01-01 10:12:16
echo &#39;本周开始时间:&#39; . date(&#39;Y-m-d H:i:s&#39;, strtotime(&#39;this week Monday&#39;));  // 本周开始时间:2018-12-24 00:00:00
echo &#39;明天开始时间:&#39; . date(&#39;Y-m-d 00:00:00&#39;, strtotime(&#39;+1 day&#39;));  // 明天开始时间:2018-12-26 00:00:00
echo &#39;1天2小时3分5秒之后的时间:&#39; . date(&#39;Y-m-d H:i:s&#39;, strtotime(&#39;+1 day 2 hours 3 minutes 5 seconds&#39;));  // 1天2小时3分5秒之后的时间:2018-12-26 12:24:15

4. Créez une heure basée sur des valeurs spécifiques

Si vous connaissez l'année, le mois, le jour, l'heure, la minute et seconde d'un certain temps, si vous souhaitez les utiliser pour créer une heure, vous pouvez choisir de les fusionner en une chaîne temporelle, puis d'utiliser strtotime pour l'analyser, ou dans ce cas, vous pouvez également utiliser une méthode plus fiable : mktime.

mktime(heure, minute, seconde, mois, jour, année) Il est à noter que l'ordre des paramètres n'est pas le même que nos habitudes, qui sont : heure, minute, seconde, mois, jour, année

$time = mktime(3, 10, 15, 2, 15, 2014);
echo date(&#39;Y-m-d H:i:s&#39;, $time);  // 2014-02-15 03:10:15

5. Opérations temporelles des types d'objets

php prend également en charge les opérations temporelles des types d'objets

$date_obj = date_create();  // 创建一个DateTime对象
echo $date_obj->format(&#39;Y-m-d H:i:s&#39;);  // 2018-12-25 10:45:08
 
date_add($date_obj, date_interval_create_from_date_string("3 days"));  // 给对象增加3天
echo $date_obj->format(&#39;Y-m-d H:i:s&#39;);  // 2018-12-28 10:45:08
 
date_sub($date_obj, date_interval_create_from_date_string("2 days"));  // 给对象减少2天
echo $date_obj->format(&#39;Y-m-d H:i:s&#39;);  // 2018-12-26 10:45:08
 
echo &#39;时区为:&#39; . timezone_name_get(date_timezone_get($date_obj));  // 时区为:PRC (中国时区,获取时区并打印)

C'est différent du style procédural, mais il peut être implémenté. Les fonctions sont en fait assez similaires.


Pour plus de connaissances sur PHP, veuillez visiter le

Site Web PHP chinois !

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer