PHP Convert String in DateTime

PHP Convert String in DateTime
Questo articolo ti insegnerà come convertire una semplice stringa in un formato di data usando vari metodi e tecniche PHP.

Le basi

Per convertire una stringa fino ad oggi, utilizzeremo due funzioni: strtotime () e le funzioni di data (). Possiamo anche usare il metodo DateTime :: CreateFromFormat.

Inizieremo con la combinazione di funzioni strtotime () e date ().

Funzione php strtotime ()

Il metodo PHP Strtotime () consente di convertire un formato di tempo leggibile dall'uomo in un tempo unix.

Il tempo unix si riferisce al numero di secondi trascorsi dal 1/1/1970 00:00:00.

La funzione prende una sintassi come mostrato di seguito:

strtotime (String $ DateTime)

La funzione prende il timestamp come argomento e restituisce la data come intero se la conversione ha successo. La funzione restituisce anche un falso booleano su Fail.

NOTA: La funzione interpreterà vari formati in modo diverso. Ad esempio, se si utilizza il separatore come barra, il metodo assumerà il formato della data e dell'ora americana come m/d/y. Tuttavia, se il separatore è un (-), viene utilizzato il formato europeo (D-M-Y).

Per rimanere sul lato sicuro, usa il formato ISO 8601 (YYYY-MM-DD).

Ulteriori informazioni sui formati di data e ora PHP nella risorsa fornita di seguito:

https: // www.PHP.net/manuale/en/datetime.formati.PHP

Dai un'occhiata ai seguenti esempi che mostrano come utilizzare la funzione strtotime ().

echo strtotime ("ora"), "\ n"; // <-- convert time now to unix
echo strtotime ("venerdì prossimo"), "\ n";
echo strtotime ("+7 settimane"), "\ n";
echo strtotime ("2022-06-06"), "\ n";
echo strtotime ("+10 ore"), "\ n";
?>

Gli esempi di cui sopra convertono varie stringhe nei loro pertinenti timestamp UNIX.

Funzione PHP Date ()

La seguente funzione che vedremo è la funzione Date (). Questa funzione prende un timestamp UNIX e lo converte in un formato di data e ora locale. La sintassi della funzione può essere espressa come:

data (formato, timestamp);

Accetta un formato di data e ora e un timestamp. Una volta formattata, la funzione restituisce la data e l'ora formatta di conseguenza.

Ad esempio, convertiamo un timestamp specifico in una data e ora.

Echo Date ("D/M/Y H: I: S", 1638092852), "\ n";
?>

Nell'esempio sopra, utilizziamo il formato della data per convertire un timestamp UNIX specifico fino ad oggi/mese/anno: Formato dei secondi minuti.

Esegui il codice sopra e dovresti ottenere un output come mostrato di seguito:

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

Combinando strtotime () e data ()

Per convertire una stringa specifica fino ad oggi e tempo, possiamo combinare la funzione e la data di strtotime () come abbiamo già visto.

Considera l'esempio mostrato di seguito:

$ timestamp = strtotime ("+10 ore");
Echo Date ("d/m/y h: i: s", $ timestamp), "\ n";
?>

L'esempio seguente utilizza la funzione strtotime () per convertire una stringa specifica in un timestamp unix.

Quindi utilizziamo la funzione della data per convertire il timestamp in un formato specifico della data e dell'ora.

Metodo 2 - Usa DateTime :: CreateFromFormat ()

L'altro metodo che possiamo utilizzare per creare un DateTime da una stringa è il DateTime :: CreateFromFormat (). Questa è una funzione PHP integrata disponibile in PHP 5.2 e superiore. Restituisce un oggetto DateTime che rappresenta la data e l'ora in un formato specificato.

L'esempio seguente mostra come usarlo.

$ DateNew = DateTime :: CreateFromFormat ("Y-M-D", "2022-06-06");
echo $ Datenew-> formato ("y-m-d"), "\ n";
?>

Il codice sopra dovrebbe restituire la data.

Conclusione

Questa guida ti ha insegnato come convertire una stringa specifica in un formato di data e ora usando metodi PHP integrati.

Grazie per aver letto!