Beregn datoforskjellen i PHP

Beregn datoforskjellen i PHP
Forskjellen mellom de to datoene kan beregnes på flere måter ved å bruke et PHP -skript. Datoverdien kan genereres av dato() funksjon og Dato tid Klasse av PHP. Datoforskjellen kan beregnes ved å bruke den innebygde funksjonen til PHP eller uten innebygd funksjon. De date_diff () Funksjon brukes til å beregne forskjellen mellom to datoer når datoverdiene i samme format opprettes ved å bruke date_create () funksjon. De Diff () Metode brukes til å beregne forskjellen mellom to datoer, som opprettes ved bruk av DATETIME klasse. Ulike måter å beregne datoforskjellen i PHP er gitt i denne opplæringen.

Beregn datoforskjellen basert på tidsstempelverdier

Strtotime () -funksjonen returnerer tidsstempelverdien til datoen som er gitt i denne funksjonens første argument. Måten å beregne forskjellen mellom datoene er vist i denne delen av opplæringen:

Eksempel 1: Skriv ut forskjellen mellom to datoer basert på tidsstempel
Opprett en PHP -fil med følgende skript for å beregne forskjellen mellom gjeldende dato og en bestemt dato. StrTotime () -funksjonen har blitt brukt i skriptet for å generere tidsstempelverdiene til begge datoene, og subtraksjonsverdien til disse tidsstempelverdiene er konvertert til dager.

// angi gjeldende dato
$ i dag = dato ('y-m-d');
// Tildel en dato i 'Y-M-D' -format
$ futuredate = "2022-09-30";
// Beregn datoforskjellen basert på tidsstempelverdier
$ forskjell = strTotime ($ futuredate) - strTotime ($ i dag);
// Beregn forskjell i dager
$ dager = abs ($ forskjell/(60 * 60)/24);
// Skriv ut datoforskjellen i dager
ekko "

Forskjellen mellom ".$ i dag."Og".$ futuredate." er ".$ dager." dager.

";
?>

Følgende utgang vises etter å ha utført det forrige skriptet:

Beregn datoforskjellen ved å bruke Date_Diff () -funksjonen

Date_diff () er en innebygd funksjon av PHP for å beregne forskjellen mellom to datoer. Syntaks for denne funksjonen er gitt nedenfor:

Syntaks

date_diff ($ objdate1, $ objdate2);

Denne funksjonen tar to datoobjekter som de obligatoriske argumentverdiene, og den returnerer forskjellen mellom disse datoobjektene på suksess eller usant ved feil. Bruken av denne funksjonen er vist nedenfor.

Eksempel 2: Skriv ut forskjellen mellom to datoer ved å bruke dato_diff () -funksjonen
Opprett en PHP -fil med følgende skript for å beregne forskjellen mellom gjeldende dato og en bestemt dato som vil bli opprettet ved å bruke Date_Create () -funksjonen. Dato_diff () -funksjonen har blitt brukt i skriptet for å beregne forskjellen mellom to datoobjekter. Deretter ble format () -metoden brukt til å skrive ut forskjellen med formateringen. Den positive verdien vil bli returnert av dato_diff () -funksjonen når den første datoen er større enn den andre datoen. Ellers blir den negative verdien returnert.

// Opprett det første dateobjektet som vil tilordne gjeldende dato
$ dataVal1 = date_create ();
// Opprett det andre dateobjektet som vil tilordne en bestemt dato
$ DATEVAL2 = DATE_CREATE ('29 Sep 2022 ');
// Beregn intervallet fra første dato til andre dato
$ ival = date_diff ($ dataVal2, $ dataVal1);
// Skriv ut utgangen
ekko "forskjellen på "".$ DATEVAL1-> Format ('D-M-Y')."-".$ DATEVAL2-> Format ('D-M-Y') . "" er "". $ ival-> Format ('%R%A DAYS').""
";
// Beregn intervallet fra den andre datoen til første dato
$ ival = date_diff ($ dataVal1, $ dataVal2);
// Skriv ut utgangen
ekko "forskjellen på "".$ DATEVAL2-> Format ('D-M-Y')."-".$ DATEVAL1-> Format ('D-M-Y') . "" er "". $ ival-> Format ('%R%A DAYS').""
";
?>

Følgende utgang vises etter å ha utført det forrige skriptet:

Beregn datoforskjellen ved å bruke DateTime -klassen

Diff () -metoden for datetime -klassen er en annen måte å beregne forskjellen mellom to datoobjekter. Bruken av denne metoden er vist her.

Eksempel 3: Skriv ut forskjellen mellom to datoer ved å bruke format () -metoden i DateTime -klassen
Opprett en PHP -fil med følgende skript som vil beregne forskjellen mellom to datoer som vil bli opprettet ved å bruke DateTime -klassen. Diff () -metoden i denne klassen har blitt brukt i skriptet for å beregne forskjellen mellom to datoobjekter. Denne klassens format () -metode har blitt brukt til å skrive ut forskjellen mellom datoene med formateringen.

// Opprett første dateobjekt
$ DATEVAL1 = NY DATETIME ('30 DEC 2022 ');
// Opprett det andre dateobjektet
$ DATEVAL2 = NY DATETIME ('2022-10-30');
// Beregn forskjellen
$ ival = $ Dateval2-> diff ($ dataVal1);
// Skriv ut forskjellsverdien
ekko "

Datoforskjellen er ". $ ival-> Format ('%y år.').",".$ ival-> Format ('%m måneder').", og".$ ival-> Format ('%d dager.'). ""

";
?>

Følgende utgang vises etter å ha utført det forrige skriptet:

Eksempel 4: Skriv ut forskjellen mellom to datoer uten å bruke format () -metoden i DateTime -klassen
Opprett en PHP -fil med følgende skript som vil beregne forskjellen mellom to datoer som vil bli opprettet ved å bruke DateTime -klassen. Diff () -metoden i denne klassen har blitt brukt i skriptet for å beregne forskjellen mellom to datoobjekter. Det formaterte året, måneden og dagverdiene vil bli skrevet ut ved hjelp av egenskapene til intervallobjektet som er navngitt $ ival.

// Opprett første dateobjekt
$ DATEVAL1 = NY DATETIME ('5. nov 2022');
// Opprett det andre dateobjektet
$ DATEVAL2 = NY DATETIME ('2022-10-31');
// Beregn forskjellen
$ ival = $ Dateval2-> diff ($ dataVal1);
// Skriv ut forskjellsverdien
ekko "

Datoforskjellen er ". $ ival-> y.'År,'.$ ival-> m.' måneder, '.$ ival-> D.' dager'. ""

";
?>

Følgende utgang vises etter å ha utført det forrige skriptet:

Eksempel 5: Beregn alderen basert på fødselsdato og gjeldende dato
Opprett en PHP -fil med følgende skript for å beregne en persons alder basert på gjeldende dato og fødselsdato ved hjelp av DateTime -klassen og diff () -metoden:

// Opprett første dateobjekt
$ fødselsdato = ny DateTime ('16 des 2006 ');
// Opprett det andre dateobjektet
$ currentDate = new DateTime ();
// Beregn forskjellen
$ ival = $ fødselsdato-> diff ($ currentDate);
// Skriv ut fødselsdatoen
ekko "

Fødselsdatoen din er ". $ fødselsdato-> format ('d m, y')."".

";
// Skriv ut forskjellsverdien
ekko "

Din alder er nå, ". $ ival-> y.'År,'.$ ival-> m.' måneder, '.$ ival-> D.' dager.'. ""

";
?>

Følgende utgang vises etter å ha utført det forrige skriptet:

Konklusjon

Forskjellen mellom de to datoene er nødvendig for å løse forskjellige programmeringsproblemer. Ulike måter å beregne forskjellen mellom to datoer er vist i denne opplæringen ved å bruke flere eksempler på. Jeg håper denne opplæringen vil hjelpe PHP -brukere med å finne forskjellen mellom to datoer riktig etter å ha lest denne opplæringen.