PHP Konverter streng til DateTime

PHP Konverter streng til DateTime
Denne artikkelen vil lære deg hvordan du konverterer en enkel streng til et datoformat ved hjelp av forskjellige PHP -metoder og teknikker.

Det grunnleggende

For å konvertere en streng til dags dato, vil vi bruke to funksjoner: strTotime () og dato () -funksjonene. Vi kan også bruke DateTime :: CreateFromFormat -metoden.

Vi starter med kombinasjonen av strtotime () og dato () -funksjoner.

PHP strTotime () -funksjon

PHP StrTotime () -metoden lar deg konvertere et menneskelig lesbart tidsformat til Unix-tid.

UNIX -tid refererer til antall sekunder som gikk siden 1/1/1970 00:00:00.

Funksjonen tar en syntaks som vist nedenfor:

StrTotime (String $ DateTime)

Funksjonen tar tidsstempel som argument og returnerer datoen som et heltall hvis konverteringen er vellykket. Funksjonen returnerer også en boolsk falsk på feil.

MERK: Funksjonen vil tolke forskjellige formater annerledes. For eksempel, hvis du bruker separatoren som en skråstrek, vil metoden anta det amerikanske dato- og tidsformatet som m/d/y. Imidlertid, hvis separatoren er en (-), brukes det europeiske formatet (D-M-Y).

For å holde deg på den sikre siden, bruk ISO 8601 (YYYY-MM-DD) -formatet.

Lær mer om PHP -dato- og tidsformater i ressursen som er gitt nedenfor:

https: // www.PHP.nett/manuell/en/datetime.formater.PHP

Ta en titt på følgende eksempler som viser hvordan du bruker strTotime () -funksjonen.

ekko strtotime ("nå"), "\ n"; // <-- convert time now to unix
Echo Strtotime ("Neste fredag"), "\ n";
ekko strtotime ("+7 uker"), "\ n";
Echo Strtotime ("2022-06-06"), "\ n";
ekko strtotime ("+10 timer"), "\ n";
?>

Ovennevnte eksempler konverterer forskjellige strenger til deres relevante UNIX -tidsstempler.

PHP Date () -funksjon

Følgende funksjon vi vil se på er datoen () -funksjonen. Denne funksjonen tar en UNIX -tidsstempel og konverterer den til en lokal dato- og tidsformat. Syntaksen til funksjonen kan uttrykkes som:

dato (format, tidsstempel);

Den godtar et dato- og klokkeslettformat og en tidsstempel. Når den er formatert, returnerer funksjonen datoen og tiden formatert deretter.

La oss for eksempel konvertere en spesifikk tidsstempel til en dato og klokkeslett.

ekko dato ("d/m/y h: i: s", 1638092852), "\ n";
?>

I eksemplet over bruker vi datoformatet for å konvertere en spesifikk UNIX -tidsstempel til dags dato/måned/år timer: Minutes Seconds Format.

Kjør koden over, og du bør få en utdata som vist nedenfor:

$ php date_format.PHP
28/nov/2021 11:47:32

Kombinere strTotime () og dato ()

For å konvertere en spesifikk streng til dags dato og tidsformat, kan vi kombinere strTotime () -funksjonen og datoen som vi allerede har sett.

Tenk på eksemplet som er vist nedenfor:

$ tidsstempel = strTotime ("+10 timer");
ekko dato ("d/m/y h: i: s", $ tidsstempel), "\ n";
?>

Eksemplet nedenfor bruker strTotime () -funksjonen for å konvertere en spesifikk streng til en UNIX -tidsstempel.

Vi bruker deretter datofunksjonen for å konvertere tidsstempel til en bestemt dato- og tidsformat.

Metode 2 - Bruk DateTime :: CreateFromFormat ()

Den andre metoden vi kan bruke for å lage en datetime fra en streng er DateTime :: CreateFromFormat (). Dette er en innebygd PHP-funksjon tilgjengelig i PHP 5.2 og høyere. Det returnerer et datetime -objekt som representerer dato og klokkeslett i et spesifisert format.

Eksemplet nedenfor viser hvordan du bruker det.

$ dateenew = DateTime :: CreateFromFormat ("Y-M-D", "2022-06-06");
Echo $ Dateenew-> Format ("Y-M-D"), "\ n";
?>

Ovennevnte kode skal returnere datoen.

Konklusjon

Denne guiden lærte deg hvordan du konverterer en spesifikk streng til en dato- og tidsformat ved hjelp av innebygde PHP-metoder.

Takk for at du leste!