Maison  >  Article  >  développement back-end  >  PHP utilise strtotime pour obtenir les exemples de code de date du mois dernier, du mois prochain et de ce mois-ci

PHP utilise strtotime pour obtenir les exemples de code de date du mois dernier, du mois prochain et de ce mois-ci

怪我咯
怪我咯original
2017-07-10 09:50:313107parcourir

Il existe une fonction appelée strtotime en PHP. Fonction d'implémentation strtotime : obtenez l' horodatage d'une certaine date, ou obtenez l'horodatage d'une certaine heure. strtotime analyse la description de la date et de l'heure de n'importe quel texte anglais dans un horodatage Unix

Quand j'écrivais un programme aujourd'hui, j'ai soudainement découvert une fonction que j'ai écrite il y a longtemps pour obtenir le nombre de jours dans le mois , la version classique switch, mais quand j'ai eu le nombre de jours du mois précédent, j'ai juste réduit le mois de -1, je suppose que j'avais trop sommeil à ce moment-là. quand je l'ai revu, je voulais à l'origine m'en occuper à nouveau, mais quand j'y ai réfléchi, il devait y avoir quelque chose de très pratique, alors j'ai trouvé la version suivante et j'ai apporté quelques modifications mineures.

Obtenez la date de ce mois :

 function getMonth($date){
   $firstday = date("Y-m-01",strtotime($date));
   $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));
   return array($firstday,$lastday);
 }

$firstday est le premier jour du mois. Si $date est 2014-2, $firstday sera le 01/02/2014. Ensuite, ajouter un mois à $firstday est le 01/03/2014, et soustraire un autre jour est le 28/02/2014. Utiliser date() et strtotime() est vraiment pratique.

Obtenez la date du mois dernier :

 function getlastMonthDays($date){
   $timestamp=strtotime($date);
   $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));
   $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
   return array($firstday,$lastday);
 }

La date du mois dernier doit d'abord obtenir un horodatage, puis ajouter -1 au mois, puis la date super intelligente(). mettra 2014- C'est tellement cool de convertir quelque chose comme 0-1 en 2013-12-01.

Obtenez la date du mois prochain :

 function getNextMonthDays($date){
   $timestamp=strtotime($date);
   $arr=getdate($timestamp);
   if($arr['mon'] == 12){
     $year=$arr['year'] +1;
     $month=$arr['mon'] -11;
     $firstday=$year.'-0'.$month.'-01';
     $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
   }else{
     $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));
     $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
   }
   return array($firstday,$lastday);
 }

Le code de la date du mois prochain semble un peu plus long, car date() ne peut pas convertir des éléments comme 2014-13-01, il reviendra directement à 1970, il faut donc traiter la question de décembre en premier. Sauf pour décembre, il suffit d'ajouter le mois + 1 et tout ira bien.

D'une manière générale, c'est très pratique. La fonction date est trop puissante.

Enfin, une brève introduction à l'utilisation de strtotime

Obtenir l'horodatage Unix d'une date spécifiée

strtotime("2009- 1-22" ) L'exemple est le suivant :
echo strtotime("2009-1-22")
Résultat : 1232553600
Description : Renvoie l'horodatage de 0:00:00 le 22 janvier 2009

Obtenir la date et l'heure du texte anglais

L'exemple est le suivant :
Pour une comparaison facile, utilisez la date pour convertir l'horodatage actuel et l'horodatage spécifié dans l'heure système

(1) Imprimer l'horodatage à cette heure demain strtotime("+1 day")
Heure actuelle :
echo date("Y-m-d H: i:s",time())
Résultat : 2009-01-22 09:40:25
Heure spécifiée :
echo date("Y-m-d H:i:s",strtotime("+1 day"))
Résultat : 2009- 01-23 09:40:25

 (2) Imprimer l'horodatage d'hier à cette heure strtotime("-1 day")
Heure actuelle :
echo date("Y-m-d H :i:s",time())
Résultat : 2009-01-22 09:40:25
Heure spécifiée :
echo date(" Y-m-d H:i:s",strtotime("- 1 day"))
Résultat : 2009-01-21 09:40:25

(3) Imprimer l'horodatage à ce moment la semaine prochaine strtotime("+1 week")
Heure actuelle :
echo date("Y-m-d H:i:s",time())
Résultat : 2009-01-22 09:40:25
Heure spécifiée :
date d'écho ("Y-m-d H:i:s",strtotime("+1 week"))
Résultat : 2009-01-29 09:40:25

(4) Imprimer la semaine dernière Horodatage à cette heure strtotime("-1 week")
Heure actuelle :
echo date("Y-m-d H:i:s",time())
Résultat : 2009-01-22 09 : 40:25
Heure spécifiée :
echo date("Y-m-d H:i:s",strtotime("-1 week"))
Résultat : 2009-01 -15 09:40:25

(5) Imprimer l'horodatage du jour spécifié de la semaine strtotime("jeudi prochain")
Heure actuelle :
echo date("Y-m-d H:i:s",time())
Résultat : 2009-01-22 09:40:25
Heure spécifiée :
echo date("Y-m-d H:i:s",strtotime(" jeudi prochain"))
Résultat : 2009 -01-29 00:00:00

(6) Imprimer l'horodatage du jour spécifié de la semaine strtotime("jeudi dernier")
Heure actuelle :
echo date("Y-m-d H:i:s",time())
Résultat : 2009-01-22 09:40:25
Heure spécifiée :
echo date ("Y-m-d H:i:s",strtotime(" jeudi dernier"))
Résultat : 2009-01-15 00:00:00

Comme le montre l'exemple ci-dessus , strtotime peut analyser la description de la date et de l'heure de n'importe quel texte anglais dans un horodatage Unix. Nous combinons mktime() ou date() pour formater la date et l'heure afin d'obtenir l'horodatage spécifié afin d'obtenir la date requise et temps.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn