Heim  >  Artikel  >  Backend-Entwicklung  >  PHP verwendet strtotime, um die Datumscodebeispiele des letzten Monats, des nächsten Monats und dieses Monats abzurufen

PHP verwendet strtotime, um die Datumscodebeispiele des letzten Monats, des nächsten Monats und dieses Monats abzurufen

怪我咯
怪我咯Original
2017-07-10 09:50:313054Durchsuche

Es gibt eine Funktion namens strtotime in PHP. strtotime-Implementierungsfunktion: Holen Sie sich den Zeitstempel eines bestimmten Datums oder den Zeitstempel einer bestimmten Zeit. strtotime parst die Datums- und Uhrzeitbeschreibung eines beliebigen englischen Textes in einen Unix-Zeitstempel

Als ich heute ein Programm schrieb, entdeckte ich plötzlich eine Funktion, die ich vor langer Zeit geschrieben hatte, um die Anzahl der Tage im Monat zu ermitteln , die klassische Switch-Version, aber als ich die Anzahl der Tage im Vormonat bekam, habe ich den Monat einfach um -1 reduziert, da war ich damals wohl zu müde Als ich es wieder sah, wollte ich mich ursprünglich noch einmal damit befassen, aber als ich darüber nachdachte, musste es eine super praktische Methode sein, also fand ich die folgende Version und nahm einige kleinere Änderungen vor.

Holen Sie sich das Datum dieses Monats:

 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 ist der erste Tag des Monats. Wenn $date 2014-2 ist, ist $firstday der 01.02.2014. Dann ergibt das Addieren eines Monats zu $firstday den 01.03.2014 und das Subtrahieren eines weiteren Tages den 28.02.2014. Die Verwendung von date() und strtotime() ist wirklich praktisch.

Holen Sie sich das Datum des letzten Monats:

 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);
 }

Das Datum des letzten Monats muss zuerst einen Zeitstempel erhalten und dann -1 zum Monat addieren. Dann das Super-Smart-Datum(). wird 2014 setzen. Es ist so cool, so etwas wie 0-1 in den 01.12.2013 umzuwandeln.

Holen Sie sich das Datum des nächsten Monats:

 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);
 }

Der Code für das Datum des nächsten Monats sieht etwas länger aus, da date() Dinge wie 2014-13-01 nicht umwandeln kann, sondern direkt zurück zu 1970, also müssen wir uns früher mit dem Thema Dezember befassen, außer Dezember, addieren Sie einfach den Monat + 1 und es ist in Ordnung.

Im Allgemeinen ist es sehr praktisch. Die Datumsfunktion ist zu leistungsstark.

Abschließend eine kurze Einführung in die Verwendung von strtotime

Den Unix-Zeitstempel eines bestimmten Datums abrufen

strtotime("2009- 1-22" ) Beispiel ist wie folgt:
echo strtotime("2009-1-22")
Ergebnis: 1232553600
Beschreibung: Gibt den Zeitstempel von 0:00:00 am 22. Januar 2009 zurück

Erhalten Sie das Datum und die Uhrzeit des englischen Texts

Das Beispiel sieht wie folgt aus:
Für einen einfachen Vergleich verwenden Sie das Datum, um den aktuellen Zeitstempel umzuwandeln und den angegebenen Zeitstempel in die Systemzeit

(1) Drucken Sie den Zeitstempel morgen um diese Zeit strtotime("+1 Tag")
Aktuelle Zeit:
echo date("Y-m-d H: i:s",time())
Ergebnis: 22.01.2009 09:40:25
Angegebene Zeit:
echo date("Y-m-d H:i:s",strtotime("+1 Tag"))
Ergebnis: 2009- 01-23 09:40:25

 (2) Drucken Sie den Zeitstempel von gestern zu diesem Zeitpunkt strtotime("-1 Tag")
Aktuelle Zeit:
echo date("Y-m-d H :i:s",time())
Ergebnis: 22.01.2009 09:40:25
Angegebene Zeit:
echo date(" Y-m-d H:i:s",strtotime("- 1 Tag"))
Ergebnis: 2009-01-21 09:40:25

(3) Drucken Sie den Zeitstempel zu diesem Zeitpunkt nächste Woche strtotime("+1 Woche")
Aktuelle Zeit:
echo date("Y-m-d H:i:s",time())
Ergebnis: 22.01.2009 09:40:25
Angegebene Zeit:
Echodatum („Y-m-d H:i:s“,strtotime(“+1 Woche“))
Ergebnis: 29.01.2009 09:40:25

(4) Zeitstempel der letzten Woche zu diesem Zeitpunkt drucken strtotime("-1 Woche")
Aktuelle Zeit:
echo date("Y-m-d H:i:s",time())
Ergebnis: 22.01.2009 09:40:25
Angegebene Zeit:
echo date("Y-m-d H:i:s",strtotime("-1 Woche"))
Ergebnis: 2009-01 -15 09:40:25

(5) Drucken Sie den Zeitstempel des angegebenen Wochentags strtotime("nächsten Donnerstag")
Aktuelle Zeit:
echo date("Y-m-d H:i:s",time())
Ergebnis: 22.01.2009 09:40:25
Angegebene Zeit:
echo date("Y-m-d H:i:s",strtotime(" nächsten Donnerstag"))
Ergebnis: 29.01.2009 00:00:00

(6) Drucken Sie den Zeitstempel des angegebenen Wochentags strtotime("letzter Donnerstag")
Aktuelle Zeit:
Echodatum("Y-m-d H:i:s",time())
Ergebnis: 22.01.2009 09:40:25
Angegebene Zeit:
Echodatum („Y-m-d H:i:s“,strtotime(“ last Thursday“))
Ergebnis: 2009-01-15 00:00:00

Wie aus dem obigen Beispiel ersichtlich ist , strtotime kann die Datums- und Uhrzeitbeschreibung eines beliebigen englischen Textes in einen Unix-Zeitstempel analysieren. Wir kombinieren mktime() oder date(), um das Datum und die Uhrzeit zu formatieren, um den angegebenen Zeitstempel zu erhalten und das erforderliche Datum zu erreichen Zeit.

Das obige ist der detaillierte Inhalt vonPHP verwendet strtotime, um die Datumscodebeispiele des letzten Monats, des nächsten Monats und dieses Monats abzurufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn