Bruk av PHP DateInterval Class

Bruk av PHP DateInterval Class

PHP DateInterval Class beregner forskjellen mellom to dato/tidsobjekter. Noen ganger krever det å finne forskjellen mellom to dager, måneder, år, timer, minutter og sekunder for programmeringsformål. Formålet med denne klassen lagrer den faste tiden som kan leses ved å bruke format () -funksjonen ved å bruke forskjellige formatparametere. Ulike bruksområder for datointervallklassen i PHP vises i denne opplæringen.

Ulike formatparametere for format () -funksjon

Formålet med forskjellige formattegn som brukes i format () -funksjonen er beskrevet i denne delen av opplæringen.

Formatkarakter Hensikt
%d Skriver ut datoen for datoen uten å lede null

Eksempel: 1, 2, 30 osv.

%D Skriver ut dagen for datoen med ledende null

Eksempel: 2, 05, 30, etc.

%m Skriver ut månedsnummeret til datoen uten ledende null

Eksempel: 1, 6, 12, etc.

%M Skriver ut månedsnummeret til datoen med ledende null

Eksempel: 01, 06, 12, etc.

%y Skriver ut det 2-sifrede året

Eksempel: 21, 22, 23 osv.

%Y Skriver ut det firesifrede året

Eksempel: 2021, 2022, 2023, etc.

%h Skriver ut timen uten å lede null

Eksempel: 1, 5, 11 osv.

%H Skriver ut timen med ledende null

Eksempel: 01, 05, 11 osv.

%Jeg Skriver ut øyeblikket uten å lede null

Eksempel: 1, 9, 59, etc.

%JEG Skriver ut øyeblikket med ledende null

Eksempel: 01, 05, 25, etc.

%s Skriver ut det andre uten å lede null

Eksempel: 1, 9, 59, etc.

%S Skriver ut det andre med ledende null

Eksempel: 01, 09, 59, etc.

%f Skriver ut mikrosekundet uten å lede null

Eksempel: 7845, 562312, 235634, etc.

%F Skriver ut mikrosekundet med 6 sifre og ledende null

Eksempel: 007845, 062312, 235634, etc.

Bruken av forskjellige metoder for datointervallklasse blir diskutert i neste del av denne opplæringen.

Eksempel 1: Bruk av datointervallklasse for dagen, måneden og året

Lag en PHP -fil med følgende skript som viser bruken av å definere forskjellige intervallverdier ved å bruke DateInterval Class. Intervallet må starte med karakteren, 'P'. Karakteren 'y' brukes til årintervall, 'M' brukes til månedens intervall, og 'D' brukes til dagintervall. I skriptet vil den første datointervallklassen sette 10 dagers intervaller, den andre datointervallklassen vil sette 5 måneder og 10 dagers intervaller, og den tredje datointervallklassen vil sette 2 år, 5 måneder og 10 dagers intervaller.

// sett intervall i dager
$ ival = new DateInterval ('P10D');
// Skriv ut intervallverdien
ekko "Intervallet er", $ ival-> Format ('%d dager.').""
";
// sett intervall i måneder og dager
$ ival = new DateInterval ('P5M10D');
// Skriv ut intervallverdien i måneder og dager
ekko "Intervallet er", $ ival-> Format (' %m måneder og %d dager.'), "
";
// sett intervall i år, måneder og dager
$ ival = new DateInterval ('P2Y5M10D');
// Skriv ut intervallverdien i år, måneder og dager med ledende nuller
ekko "Intervallet er", $ ival-> Format (' %y år, %m måneder og %d dager.'), "
";
// Skriv ut intervallverdien i år, måneder og dager uten å lede nuller
ekko "Intervallet er", $ ival-> Format (' %y år, %m måneder og %d dager.'), "
";
?>


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

Eksempel 2: Bruk av DateInterval Class med date_interval_format () -funksjon

Dato_interval_format () -funksjonen skriver ut datointervallverdien med formateringsstrengen. Denne funksjonen tar intervallobjektet i det første argumentet og formatstrengen i det andre argumentet. Opprett en PHP -fil med følgende skript der bruken av dato_interval_format () -funksjonen er vist:

// Sett intervallet i år, måneder og dager
$ ival = new DateInterval ('P10Y6M15D');
// Angi formatet i flere dager
$ format = "%d";
// Skriv ut intervallverdien i dager
ekko "Intervallet er".date_interval_format ($ ival, $ format)." dager.
";
// Angi formatet i dager og måneder
$ format = " %m måneder og %dager.";
// Skriv ut intervallverdien i måneder og dager
ekko "Intervallet er".date_interval_format ($ ival, $ format).""
";
// Angi formatet i flere dager
$ format = " %y år, %m måneder og %dager.";
// Skriv ut intervallverdien i år, måneder og dager
ekko "Intervallet er".date_interval_format ($ ival, $ format).""
";
?>


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

Eksempel 3: Bruk av datointervallklasse for timen, minuttet og andre

Karakteren 'T' brukes etter karakteren 'P' for å sette intervallet i tid. Lag en PHP -fil med følgende skript der tidsintervallet er satt ved å bruke DateInterval Class:

// Angi intervall på sekunder
$ ival = new DateInterval ('PT30S');
// Angi formateringen
$ format = "%s sekunder.";
// Skriv ut intervallverdien på få sekunder
ekko "Intervallet er". date_interval_format ($ ival, $ format). ""
";
// Angi intervall på sekunder
$ ival = new DateInterval ('PT15M30S');
// Angi formateringen
$ format = " %i minutter og %s sekunder.";
// Skriv ut intervallverdien på få minutter og sekunder
ekko "Intervallet er". date_interval_format ($ ival, $ format). ""
";
// Angi intervall på sekunder
$ ival = ny DateInterval ('PT5H15M30S');
// Angi formateringen
$ format = " %h timer, %i minutter og %s sekunder.";
// Skriv ut intervallverdien i timer, minutter og sekunder
ekko "Intervallet er". date_interval_format ($ ival, $ format). ""
";
?>


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

Eksempel 4: Bruk av DateInterval Class med CreateFromDatestring () -funksjon

CreateFromDatestring () -funksjonen brukes til å angi dato- og tidsintervall på forskjellige måter. Lag en PHP -fil med følgende skript der dato- og tidsintervallet er satt på forskjellige måter ved hjelp av CreateFromDatestring () -funksjonen:

// sett intervall i dager
$ ival = DateInterval :: CreateFromDatestring ('20 Days ');
ekko "Intervallet er", $ ival-> format ('%d dager'), "
";
// Sett intervall i uker
$ ival = DateInterval :: CreateFromDatestring ('4 uker');
ekko "Intervallet er", $ ival-> format ('%d dager'), "
";
// Sett intervall på måneder
$ ival = DateInterval :: CreateFromDatestring ('3 måneder');
ekko "Intervallet er", $ ival-> format ('%m måneder'), "
";
// sett intervall i år og dager
$ ival = DateInterval :: CreateFromDatestring ('5 år + 15 dager');
ekko "Intervallet er", $ ival-> format (' %y år %d dager'), "
";
// Sett intervall i uker, dager, timer og minutter ved summering
$ ival = DateInterval :: CreateFromDatestring ('2 uker + 15 dager + 24 timer + 60 minutter');
ekko "Intervallet er", $ ival-> format (' %d dager, %h timer og %i minutter'), "
";
// sett intervall i dager ved subtraksjon
$ ival = DateInterval :: CreateFromDatestring ('30 dager - 15 dager ');
ekko "Intervallet er", $ ival-> format ('%d dager'), "
";
?>


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

Konklusjon

De forskjellige måtene å sette dato og tidsintervall ved å bruke strengverdi på tidspunktet for å lage objektet for datointervallklassen eller bruke CreateFromDatestring () har blitt vist i denne opplæringen. Bruken av datointervallklassen ble diskutert for de nye PHP -brukerne å forstå bedre.