Date et heure PHP
PHP date() est utilisée pour formater la date ou l'heure
horodatage (timestamp), c'est généralement une séquence de caractères qui identifie de manière unique un certain moment dans le temps
Date formatée : La fonction date() renverra une chaîne générée par le paramètre timestamp selon le format spécifié.
Syntaxe
date(format, horodatage)
| <🎜> <🎜>Description<🎜><🎜> | ||||||
Obligatoire, spécifie le format de l'horodatage. | |||||||
<🎜 ><🎜> horodatage<🎜> ><🎜> | Facultatif, spécifiez l'horodatage. La valeur par défaut est l'heure et la date actuelles |
☆ Un horodatage est une séquence de caractères qui représente l'heure et la date auxquelles un événement spécifique s'est produit
La chaîne de format peut reconnaître le format suivant chaîne de paramètres
| <🎜><🎜> Description<🎜><🎜> | Exemple de valeur de retour < 🎜> | |||||||||||||||
--- | < td width="193" valign="top" style="border-width: 1px; border-style: solid; word-break: break-all;">---|||||||||||||||||
d | Le jour du mois, un nombre à 2 chiffres avec des zéros non significatifs | 01 à 31 | |||||||||||||||
Jour de la semaine, représentation textuelle, 3 lettres | Lun au Sun | ||||||||||||||||
j | Jour du mois, sans zéro en tête | 1 à 31 |
l("L"的小写字母) | 星期几,完整的文本格式 | Sunday 到 Saturday |
N | ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) | 1(表示星期一)到 7(表示星期天) |
S | 每月天数后面的英文后缀,2 个字符 | st,nd,rd 或者 th。可以和 j 一起用 |
w | 星期中的第几天,数字表示 | 0(表示星期天)到 6(表示星期六) |
z | 年份中的第几天 | 0 到 365 |
星期 | --- | --- |
W | ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) | 例如:42(当年的第 42 周) |
月 | --- | --- |
F | 月份,完整的文本格式,例如 January 或者 March | January 到 December |
m | 数字表示的月份,有前导零 | 01 到 12 |
M | 三个字母缩写表示的月份 | Jan 到 Dec |
n | 数字表示的月份,没有前导零 | 1 到 12 |
t | 给定月份所应有的天数 | 28 到 31 |
年 | --- | --- |
L | 是否为闰年 | 如果是闰年为 1,否则为 0 |
o | ISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加) | Examples: 1999 or 2003 |
Y | 4 位数字完整表示的年份 | 例如:1999 或 2003 |
y | 2 位数字表示的年份 | 例如:99 或 03 |
时间 | --- | --- |
a | 小写的上午和下午值 | am 或 pm |
A | 大写的上午和下午值 | AM 或 PM |
B | Swatch Internet 标准时 | 000 到 999 |
g | 小时,12 小时格式,没有前导零 | 1 到 12 |
G | 小时,24 小时格式,没有前导零 | 0 到 23 |
h | 小时,12 小时格式,有前导零 | 01 到 12 |
H | 小时,24 小时格式,有前导零 | 00 到 23 |
i | 有前导零的分钟数 | 00 到 59> |
s | 秒数,有前导零 | 00 到 59> |
u | 毫秒 (PHP 5.2.2 新加)。需要注意的是 date() 函数总是返回000000 因为它只接受 integer 参数, 而 DateTime::format() 才支持毫秒。 | 示例: 654321 |
时区 | --- | --- |
e | 时区标识(PHP 5.1.0 新加) | 例如:UTC,GMT,Atlantic/Azores |
I | 是否为夏令时 | 如果是夏令时为 1,否则为 0 |
O | 与格林威治时间相差的小时数 | 例如:+0200 |
P | 与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加) | 例如:+02:00 |
T | 本机所在的时区 | 例如:EST,MDT(【译者注】在 Windows 下为完整文本格式,例如"Eastern Standard Time",中文版会显示"中国标准时间")。 |
Z | 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 | -43200 到 43200 |
完整的日期/时间 | --- | --- |
c | ISO 8601 格式的日期(PHP 5 新加) | 2004-02-12T15:19:21+00:00 |
r | RFC 822 格式的日期 | 例如:Thu, 21 Dec 2000 16:01:07 +0200 |
U | 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 | 参见 time() |
PHP date() Formater la date
Le premier paramètre obligatoire de la fonction date(), format, spécifie comment formater la date/heure.
Voici quelques caractères disponibles :
d - représente le jour du mois (01 - 31)
m - représente le mois (01 - 12)
Y - représente l'année (quatre chiffres)
Pour une liste de tous les caractères disponibles dans le paramètre format, veuillez consulter notre manuel de référence PHP Date, fonction date().
Vous pouvez insérer d'autres caractères entre les lettres, tels que "/", "." ou "-", afin de pouvoir ajouter une mise en forme supplémentaire :
Exemple
<?php echo date("Y/m/d") . "<br>"; echo date("Y.m.d") . "<br>"; echo date("Y-m-d"); ?>
Résultat de l'exécution du programme :
09/10/2016
09.10.2016
09/10/2016
Les caractères suivants sont couramment utilisés pour l'heure :
· h - 12 avec zéro heure en tête Format de l'heure
· i - minute avec zéro non significatif
· s - seconde avec zéro non significatif (00 -59)
· a - midi et après-midi minuscules (matin ou après-midi)
Exemple
L'exemple suivant affiche l'heure actuelle dans le format spécifié :
<?php echo date ("H:i:sa"); ?>
Résultat de l'exécution du programme :
15:53:06
☆ La fonction PHP date() renverra l'heure/la date actuelle du serveur
Obtenir le fuseau horaire
Si l'heure renvoyée par le code n'est pas l'heure correcte, il est possible que votre serveur soit situé dans un autre pays ou soit défini vers un fuseau horaire différent.
Donc, si vous avez besoin d'une heure précise basée sur un emplacement spécifique, vous pouvez définir le fuseau horaire à utiliser.
L'exemple suivant définit le fuseau horaire sur "Asie/Shanghai", puis affiche l'heure actuelle dans le format spécifié :
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 date_default_timezone_set("Asia/Shanghai"); echo "当前时间是 " . date("h:i:sa"); ?>
Le résultat de l'exécution du programme :
L'heure actuelle est 15:54:49
Date de création via PHP mktime()
Grammaire
mktime(heure, minute, seconde, mois, jour, année)
Exemple ci-dessous A une série de paramètres dans la fonction mktime() sera utilisée pour créer la date et l'heure
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $d=mktime(9, 12, 31, 6, 10, 2016); echo "创建日期是 " . date("Y-m-d h:i:sa", $d); ?>
Le résultat de l'exécution du programme :
La date de création est le 09/06/2016 : 00h31
Créer des dates à partir de chaînes via PHP strtotime()
La fonction PHP strtotime() est utilisée pour convert lisible par l'homme Convertit la chaîne lue en heure Unix.
Syntaxe
strtotime(heure, maintenant)
L'exemple suivant crée la date et l'heure via la fonction strtotime() :
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $d=strtotime("10:38pm April 15 2016"); echo "创建日期是 " . date("Y-m-d h:i:sa", $d); ?>
Résultat de l'exécution du programme :
La date de création est le 15/04/2016 22:38:00
PHP est très intelligent pour convertir des chaînes en dates, vous pouvez donc utiliser une variété de valeurs :
Instance
<?php $d=strtotime("tomorrow"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("next Saturday"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("+3 Months"); echo date("Y-m-d h:i:sa", $d) . "<br>"; ?>
Résultat en cours d'exécution du programme :
2016-10-10 12 : 00:00
2016-10-15 00:00:00
2017-01-09 16:01:09pm
Remarque : strtotime() C'est pas parfait, alors pensez à vérifier les cordes que vous y mettez.
Instance
<?php $startdate = strtotime("Saturday"); $enddate = strtotime("+5 weeks",$startdate); while ($startdate < $enddate) { echo date("M d", $startdate),"<br>"; $startdate = strtotime("+1 week", $startdate); } ?>
Résultat de l'exécution du programme :
15 octobre
22 octobre
29 octobre
05 novembre
12 novembre
Exemple
Utilisez la fonction strtotime() pour obtenir l'horodatage de la chaîne de date et d'heure au format anglais
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 echo strtotime("now"),"<br>"; //当前时间的时间戳 echo "输出时间:".date("Y-m-d H:i:s",strtotime("now")),"<br>"; //输出当前时间 echo strtotime("24 May 2016"),"<br>"; //输出指点时间的时间戳 echo "输出时间:".date("Y-m-d H:i:s",strtotime("24 May 2016")),"<br>"; //输入指定的日期 ?>
Le résultat de l'exécution du programme :
1476000300
Heure de sortie : 2016-10-09 16:05:00
1464019200
Heure de sortie : 2016-05-24 00:00:00
Exemple
Réaliser la fonction de compte à rebours
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $time=strtotime(date("Y-m-d H:i:s")); //当前的系统时间 $time1=strtotime("2017-10-1 12:00:00"); //国庆节的放假时间 $time2=strtotime("2017-1-1"); //元旦的放假时间 $sub=ceil(($time1-$time)/3600); //(60秒*60分)/小时 $sub1=ceil(($time2-$time1)/86400); //(60秒*60分*24小时)/天 echo "离国庆放假时间还有 <strong>$sub</strong> 小时"; echo "<p>"; echo"离元旦放假时间还有 <strong>$sub1</strong> 天"; ?>
Résultat en cours d'exécution du programme :
Il reste encore 8564 heures avant les vacances de la Fête Nationale
Il reste -273 jours avant les vacances du Nouvel An
Manuel complet de référence de date PHP
Pour un manuel de référence complet pour toutes les fonctions de date, veuillez visiter notre Manuel de référence complet de date PHP.
Ce manuel de référence fournit une brève description et des exemples d'application de chaque fonction !