PHP strtotime -funksjon

PHP strtotime -funksjon
UNIX -tidsstempelverdien beregnes fra 1st Januar 1970. Strtotime () er en innebygd PHP-funksjon for å konvertere menneskelig lesbar dato- og tidsverdier til UNIX tidsstempelverdier. Måten å bruke denne funksjonen i PHP til forskjellige formål har vist i denne opplæringen med eksempler.

Syntaks:

strtotime (dttime_string, [ts_now]): tidsstempel | falsk

Det første argumentet for funksjonen er obligatorisk og inneholder strengen med gyldige dato- og klokkeslettverdier. Det andre argumentet er valgfritt som brukes til å angi basisverdien for å beregne tidsstempelverdien. Den returnerer tidsstempelverdien basert på den første argumentverdien.

Forutsetning

Skriptene som brukes i eksemplene på denne opplæringen er skrevet basert på PHP 8 -versjonen. Gjør følgende oppgave før du utfører eksemplene på dette skriptet.

  1. Installer apache2 og php 8.
  2. Angi utfør tillatelse for alle filer og mapper under/var/www/html -mappe der alle PHP -filer blir lagret.

Forskjellige bruksområder av strTotime () -funksjon

Tidspunktets verdier for den aktuelle datoen og klokkeslettet kan beregnes på forskjellige måter ved å bruke strTotime () -funksjonen. Bruken av denne funksjonen har vist i denne delen av denne opplæringen.

Eksempel-1: Bruk av det obligatoriske argumentet for strTotime () -funksjonen

Opprett en PHP -fil med følgende skript for å finne ut den aktuelle datoen ved å beregne tidsstempelverdien ved å bruke strTotime () -funksjon. Her har åtte forskjellige strengverdier for dato og tid blitt brukt i denne funksjonen for å generere og skrive ut tidsstempelverdien. Deretter vil den menneskelige lesbare dato- og tidsverdien skrives ut basert på den beregnede tidsstempelverdien.

// Les gjeldende tidsstempelverdi
$ i dag = strTotime ('nå');
ekko "Tidsstempletverdien til i dag er: $ i dag
";
ekko "Datoen for dag er:".dato ("d-m-y", $ i dag).""

";
// Les tidsstempelverdien til i går
$ prev_day = strTotime ('-1 dag');
ekko "Tidsstempletverdien til i går er: $ prev_day
";
Ekko "Datoen for i går er:".dato ("d-m-y", $ prev_day).""

";
// Les Tidsstemte verdien av morgendagen
$ next_day = strTotime ('+1 dag');
ekko "Tidsstemplet verdien av morgendagen er: $ next_day
";
ekko "Datoen for morgendagen er:".dato ("d-m-y", $ next_day).""

";
// Les tidsstempelverdien til neste torsdag
$ n_day = strTotime ('neste torsdag');
Ekko "Tidsstempletverdien til neste torsdag er: $ N_DAY
";
ekko "Datoen for neste torsdag er:".dato ("d-m-y", $ n_day).""

";
// Les tidsstempelverdien fra forrige tirsdag
$ l_day = strTotime ('siste tirsdag');
ekko "Tidsstempletverdien til forrige tirsdag er: $ l_day
";
ekko "Datoen for den siste tirsdagen er:".dato ("d-m-y", $ l_day).""

";
// Les tidsstempelverdien på fremtidig dag
$ Future_date = strTotime ('+5 år 5 måneder 5 dager');
Ekko "Tidsstemplingsverdien etter 5 år 5 måneder og 5 dager er: $ Future_date
";
Ekko "Datoen etter 5 år 5 måneder og 5 dager er:".Dato ("D-M-Y", $ Future_Date).""

";
// Les tidsstempelverdien til forrige time
$ prev_hour = strTotime ('-10 timer 30 minutter 15 sekunder');
Ekko "Tidsstemplingsverdien før 10 timer 30 minutter og 15 sekunder er: $ prev_hour
";
ekko "Datoen før 10 timer 30 minutter og 15 sekunder er:".dato ("d-m-y", $ prev_hour).""

";
// Les tidsstempelverdien på den aktuelle dagen
$ spesifikke_dag = strTotime ('16 desember 2021 ');
ekko "Tidsstemplet verdien 16. desember 2021 er: $ prev_hour
";
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Her er filnavnet strtotime1.PHP som er lagret inne /var/www/html/kode mappe. Utgangen fra skriptet vil bli endret basert på datoen og klokkeslettet for operativsystemet.

http: // localhost/code/strtotime1.PHP

Eksempel-2: Beregn tidsstempelverdien fra det gyldige datoformatet

Opprett en PHP -fil med følgende skript for å sjekke datoen fra URL -spørringsparameteren er gyldig og finne ut tidsstempelverdien til den datoen. Her, The $ _GET [] Array har blitt brukt til å lese verdien av URL -spørringsparametrene som er navngitt 'dt'. Den oppgitte datoverdien gitt i URL -spørringsparameteren er gyldig eller ikke vil bli sjekket av preg_match () -funksjonen. Hvis den gyldige datoen er oppgitt, vil tidsstempelverdien til datoen bli beregnet og skrevet ut.

// sjekk datoverdien er gitt i nettadressen eller ikke
if (isset ($ _ få ['dt']))

// Les datoverdien
$ date = $ _get ['dt'];
// sjekk datoverdien er gyldig eller ikke
if (preg_match ('/[0-9] 2-[0-9] 2-[0-9] 4/', $ dato))

// Les tidsstempelverdien på datoen
$ tm = strTotime ($ date);
// Skriv ut tidsstempelverdien
ekko "

Tidsstempelverdien på $ dato er $ tm.

";

ellers
// Skriv ut feilmelding for ugyldig datoformat
ekko "

Ugyldig datoformat.

";

ellers
// Skriv ut feilmelding hvis dato ikke finnes i nettadressen
ekko "

Ingen datoverdi funnet.

";
?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor uten noen spørringsparameter. Her er filnavnet strtotime2.PHP som er lagret inne /var/www/html/kode mappe.

http: // localhost/code/strtotime2.PHP

Følgende utgang vises etter å ha utført skriptet ovenfor med spørringsparameteren som heter 'dt'Med verdien,'23-10-2021'.

http: // localhost/code/strtotime2.PHP?DT = 23-10-2021

Følgende utgang vises etter å ha utført skriptet ovenfor med spørringsparameteren som heter 'dt'Med verdien,'23-100-2021'.

http: // localhost/code/strtotime2.PHP?DT = 23-100-2021

Eksempel-3: Beregn forskjellen mellom to datoer

Lag en PHP -fil med følgende skript for å finne ut forskjellen mellom to datoer ved å bruke strTotime () -funksjonen. Her har to gyldige datoverdier blitt tildelt i to variabler. To tidsstempelverdier for disse datoene er beregnet ved å bruke strTotime () -funksjonen. Forskjellen på disse tidsstempelverdiene er beregnet i sekunder som er konvertert til årene. Den konverterte verdien vil bli skrevet ut etter å ha utført koden.

// angi to datoverdier
$ date1 = '01 -01-2021 ';
$ date2 = '01 -01-2024 ';
// Beregn forskjellen mellom datoen
$ diff = (strTotime ($ date2) - strTotime ($ date1))/60/60/24/365;
// Skriv ut forskjellsverdien i år
ekko "

Forskjellen mellom to datoer er $ diff år

";
?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor uten noen spørringsparameter. Her er filnavnet strtotime3.PHP som er lagret inne /var/www/html/kode mappe. Forskjellen mellom '01 -01-2021 'og '01 -01-2024' er 3 år som er skrevet ut i utgangen.

http: // localhost/kode/strtotime3.PHP

Konklusjon

Strtotime () er en veldig nyttig funksjon for å jobbe med dato- og klokkeslettverdier. Måtene å bruke denne funksjonen til forskjellige formål er beskrevet i denne opplæringen for å hjelpe den nye PHP -brukeren til å vite formålet med å bruke denne funksjonen i PHP -skriptet.