PHP obtient une fonction d'horodatage localisée
Dans le travail réel, nous devons souvent spécifier un certain temps pour générer.
Par exemple : vous devez trouver les utilisateurs enregistrés d'hier à ce moment aujourd'hui.
Ensuite, nous devons faire deux choses :
1. Obtenir l'horodatage Unix de l'heure actuelle. Vous pouvez le faire directement avec la fonction time()
2. Alors comment générer l'heure spécifiée hier. À ce stade, nous devons utiliser la fonction mktime(). Abréviation : faire du temps.
L'heure générée est de préférence un horodatage Unix. Parce que c'est l'heure qui s'étend de zéro heure du 1er janvier 1970 à aujourd'hui. Nous effectuons un jugement par intervalles et filtrons les utilisateurs enregistrés d'hier à aujourd'hui en fonction du temps.
Notre fonction mktime() peut obtenir un horodatage localisé pour une date et une heure. Le format de syntaxe est le suivant :
int mktime (int $hour [, int $minute [, int $second [, int $month [, int $day [. int$year [, int $.is_dstl.l } ] ] 31) Les paramètres de la fonction
représentent respectivement : l'heure, la minute, la seconde, le mois, le jour, l'année, et si l'heure est à l'heure d'été. Lors de l'utilisation de cette fonction, veuillez noter que les paramètres répertoriés ont la même signification que les paramètres de la fonction. Par exemple, le code suivant implémente la fonction de construction d'un horodatage à l'aide de mktime.
<?php echo mktime (13 ,15 , 30, 8,18, 2008) ; ?>
Le résultat de l'exécution du programme est le suivant :
1219036530
Le résultat renvoyé par la fonction mktime est un horodatage Unix, qui a peu de signification pour l'utilisateur et est souvent utilisé avec la fonction de date. Conversion complète de l'heure.
Par exemple, le code suivant implémente le calcul du temps :
<?php echo date("m-d-Y h:m:s")."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d"),date("Y")))."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d")-30,date("Y")))."\n"; ?>
Lorsque nous l'utilisons, nous avons souvent besoin d'utiliser une autre fonction : strtotime().
Son format de syntaxe est le suivant :
int strtotime ( string $time [, int $now = time() ] )
Il peut Analyse une description datetime de texte anglais dans un horodatage Unix.
Paramètres :
1. Passer l'heure d'une chaîne
2. Le paramètre facultatif est de savoir s'il faut passer l'horodatage unix, sinon ce sera le horodatage Unix actuel.
Expérimentons et regardons quelques exemples fournis dans le manuel :
<?php //now为现在的当前时间 echo strtotime("now")."<br />"; //2000年9月10日 echo strtotime("10 September 2000")."<br />"; //当前时间加一天 echo strtotime("+1 day")."<br />"; //当前时间加一周 echo strtotime("+1 week")."<br />"; //当前时间加一周2天4小时2秒 echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />"; //下一个星期四 echo strtotime("next Thursday")."<br />"; //上一个星期一 echo strtotime("last Monday")."<br />"; ?>
Grâce à l'exemple ci-dessus, nous avons constaté que certaines heures sont ajoutées ou soustraites à l'heure spécifiée exprimée en partie anglaise.