Come convertire una marca temporale a una data in PHP

January 18

Come convertire una marca temporale a una data in PHP


Il linguaggio di programmazione PHP ha diverse funzioni utili per ottenere e manipolare la data e l'ora. Il "tempo () \" di PHP \ funzione viene utilizzata per ottenere il timestamp Unix corrente, un numero che rappresenta il numero di secondi dal 1 Gen 1970 Greenwich Mean Time (GMT). Questo numero è utile per la generazione di numeri unici e casuali, ma come una data e un'ora leggibile, lascia molto a desiderare. Per fortuna, il PHP \ "date () \" la funzione è stata progettata per formattare questo timestamp utilizzando un formato personalizzato.

istruzione

1 Creare una variabile per contenere il timestamp corrente e assegnare il valore restituito dalla funzione time ():

$ Now = tempo ()
ANDARE

tempo () non accetta parametri, e restituisce un timestamp Unix. Se avete bisogno di un altro data relativa ad ora, calcolare il numero di secondi necessari per compensare il timestamp e aggiungere o sottrarre da $ ora.

Ad esempio, ieri era di 24 ore tempi di 60 minuti 60 secondi fa volte:

$ ieri = $ ora - (24

60 60)
ANDARE

Anche,

$ domani = $ ora + (24 60 60)
ANDARE
$ nextweek = $ ora + (7 24 60 * 60);

2 Impostare il fuso orario predefinito. Questo permetterà la funzione data () per convertire correttamente il timestamp per la data e l'ora per la posizione predefinita. Per esempio,

date_default_timezone_set ( 'America / Denver')
ANDARE

Vedere la \ "Elenco dei supportati Timezones \" nella sezione Risorse.

3 Costruire una stringa di formattazione della data corrispondente al formato che si desidera visualizzare o utilizzare. Ci sono diversi caratteri di formattazione standard, come 'D' per un giorno a due cifre, 'D' per un nome abbreviato giorno, 'F' per il nome completo del mese, e 'Y' per l'anno a quattro cifre.

Ad esempio, la stringa \ "l, F j, Y \" produrrà una data che sembra \ "Martedì 30 marzo 2010 \". Vedere la \ "PHP.net: Data \" la documentazione collegata nella sezione Riferimenti per un elenco completo di caratteri di formattazione delle stringhe.

4 Chiamare la funzione data (), passando la stringa di formattazione data e il timestamp come parametri:

$ Todaystr = data (\ "l, F j, Y \", $ ora)
ANDARE

Ora è possibile utilizzare la variabile che contiene la data formattata ($ todaystr in questo caso), facendo eco alla pagina concatenazione di stringhe su un altro, o di passarlo a una funzione che richiede una data formattata. Ci sono formati predefiniti è possibile passare per il parametro stringa di formattazione per recuperare stringhe di data e ora standard. Per esempio:

$ Todaystr = data (DATE_RSS, $ ora)
ANDARE

imposta $ todaystr ad un formato di data RSS come la seguente:

Tue, 30 Mar 2010 15:33:01 -0600

Vedere la \ "Elenco dei supportate DateTime Costanti \" nella sezione Risorse per un elenco completo.

Consigli e avvertenze

  • Se avete solo bisogno di una data formattata, non un timestamp Unix, impostare il fuso orario e chiamare la funzione data (), con solo la stringa di formattazione. Ad esempio, \ "data (\" F j, Y, g: ia \ ") \" restituisce la data e l'ora corrente formattata come \ "30 Marzo 2010, 03:33 \". Le impostazioni predefinite della funzione data () per la data e l'ora correnti.
  • La funzione mktime () offre un metodo alternativo per la costruzione di timestamp Unix.
  • Alcuni database, come MySQL, in grado di convertire campi data e ora in formato timestamp Unix, rendendo più semplice per convertire il formato del database per il proprio formato.