? PHP version 5.3 innehåller en DateTime klass för att lagra , manipulera och utföra beräkningar med datum och en DateInterval klass för lagring av intervallet mellan två datum . Den DateTime klass omfattar flera metoder , såsom DateTime :: diff metod , som returnerar skillnaden mellan två DateTime objekt som en DateInterval objekt. Den date_diff funktion är ett förfarandemässiga stil alias för DateTime :: diff metod som kan användas för att beräkna skillnaden mellan två datum . DateTime Klass
DateTime klassen i PHP är en konstruktion som motsvarar ett datum och tid . Den innehåller flera metoder som gör att du kan manipulera datum och utför datumberäkningar . Den DateTime klassen lagrar ett datum internt som antalet sekunder sedan Unix Epoch , vilket är 1 januari, 1970 , kl 00:00:00 GMT . Skapa ett nytt DateTime -objekt med " nya " och DateTime konstruktionen eller formellt med date_create funktionen . Till exempel : ?
< Php
$ party = new DateTime ( '1999 -12- 31 ' ) ,
$ same_party = date_create ( " 1999-1912 - 31 " ) ; ?
> Addera DateTime :: diff
DateTime :: diff metoden tillåter dig att beräkna skillnaden mellan två DateTime objekt. Till exempel , för att beräkna antalet dagar du har varit vid liv , skriva en funktion för att beräkna skillnaden mellan dagens datum och ditt födelsedatum : ?
< Php
funktion daysAlive ( $ födelsedatum ) {
$ dag = new DateTime ( " nu " ) ;
$ födelsedag = new DateTime ( $ födelsedatum ) ,
$ daysAlive = $ födelsedag - > diff ( $ idag ) ,
retur $ daysAlive - > format ( " % en dag ' ) ; ?
}
>
date_diff funktion
date_diff funktionen är ett processuellt stil alias för DateTime :: diff metoden . Använd date_create funktionen för att skapa ett DateTime -objekt och använda date_diff funktion för att beräkna intervallet . mellan två datum till exempel är den processuella - stil funktion som beräknar antalet dagar du har varit vid liv : ?
< php
funktion days_alive ( $ lön, födelsedatum ) {
$ dag = date_create ( " nu " ) ;
$ födelsedag = date_create ( $ lön, födelsedatum ) ,
$ days_alive = date_diff ( $ födelsedag , $ dag ) ;
retur date_interval_format ( $ days_alive , " % en dag " ) ; ?
}
>
DateInterval klass
När du använder DateTime :: diff metoden eller date_diff funktionen , är resultatet representeras som ett objekt av DateInterval klassen . klassen lagrar intervallet mellan två datum som en bestämd tidsperiod i år , månader, dagar, timmar och sekunder. objektorienterad DateInterval :: format metoden eller den processuella stil date_interval_format funktionen kan du visa datum intervall i en eller flera tidsperioder . exempelvis kan du visa ett datumintervall som ett antal dagar eller som ett antal år och dagar : ?
< php
$ first_date = date_create ( " 2011-09-05 " ) ;
$ second_date = date_create ( " 2020-06 -01 " ) ;
$ diff = date_diff ( $ second_date , $ first_date ) ,
echo date_interval_format ( $ diff , " % en dag " ) ;
echo date_interval_format ( $ diff , " % y år och % d dagar " ) ; ?
> Addera