Converti data / ora in PHP data / ora leggibile


227

Ho un timestamp memorizzato in una sessione (1299446702).

Come posso convertirlo in una data / ora leggibile in PHP? Ho provato srttotime, ecc. Senza alcun risultato.

Risposte:



84

strtotime trasforma una stringa di data in un timestamp. Vuoi fare il contrario, che è data . Il tipico formato di data mysql è date('Y-m-d H:i:s'); Controlla la pagina di manuale per ciò che rappresentano le altre lettere.

Se hai un timestamp che vuoi usare (apparentemente lo fai), è il secondo argomento di date().


4
sarebbe bene notare che sono passato nella mia data attuale come segue:echo date('m/d/Y', strtotime($current_date_variable);
cwiggo

non c'è alcun comando per convertire un timestamp nella loro standardizzazione del datetime perché ho convertito un datetime in un timestamp unix ma nel mio database è ancora un datetime lo proverò ma trovo ancora strano che non ci sia un comando specifico per questo
Marc Roelse il

64

Ho appena aggiunto H: i: s alla risposta di Rocket per ottenere l'ora insieme alla data.

echo date('m/d/Y H:i:s', 1299446702);

Uscita: 03/06/2011 16:25:02



23

Se stai usando PHP date(), puoi usare questo codice per ottenere la data, l'ora, il secondo, ecc.

$time = time();               // you have 1299446702 in time
$year = $time/31556926 % 12;  // to get year
$week = $time / 604800 % 52;  // to get weeks
$hour = $time / 3600 % 24;    // to get hours
$minute = $time / 60 % 60;    // to get minutes
$second = $time % 60;         // to get seconds

12
Che ne dici di un anno bisestile e del secondo ...?
Petteri Hietavirta,

$year = date('Y', $time)
Ruben Kazumov,

16

So che è una vecchia domanda, ma è alta nei risultati di ricerca.

Se qualcuno desidera la conversione data / ora direttamente in un oggetto DateTime, esiste un semplice one-liner:

$timestamp = 1299446702;
$date = DateTime::createFromFormat('U', $timestamp);

Dopo il commento di @sromero, il parametro del fuso orario (il 3o parametro in DateTime :: createFromFormat ()) viene ignorato quando viene passato il timestamp unix, quindi il codice seguente non è necessario.

$date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); // not needed, 3rd parameter is ignored

Puoi consultare il manuale di PHP per DateTime :: createFromFormat per maggiori informazioni e opzioni.


1
Jus un commento sull'ultima riga di codice: in base alla pagina del manuale che colleghi: "Nota: il parametro timezone e il fuso orario corrente vengono ignorati quando il parametro time contiene un timestamp UNIX (es. 946684800) o specifica un fuso orario (es. 2010 -01-28T15: 00: 00 + 02: 00) ".
dal

@sromero Hai ragione. In questo caso il parametro del fuso orario viene ignorato.
Pascal,

14

Provalo.

<?php
 $timestamp=1333342365;
 echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
 ?>

8

Puoi provare questo:

   $mytimestamp = 1465298940;

   echo gmdate("m-d-Y", $mytimestamp);

Produzione :

2016/06/07



6

Prova questo:

echo date('m/d/Y H:i:s', 1541843467);

1
Ciao! Sembra che questa risposta sia già stata proposta; vedi la risposta migliore.
cappello

4

echo date("l M j, Y",$res1['timep']);
Questo è davvero buono per convertire un timestamp unix in una data leggibile insieme al giorno. Esempio: giovedì 7 luglio 2016


1
Risposte simili sono già state pubblicate, qual è il vantaggio delle informazioni nella tua risposta?
Steffen Harbich,

4
echo 'Le '.date('d/m/Y', 1234567890).' &agrave; '.date('H:i:s', 1234567890);

4
$epoch = 1483228800;
$dt = new DateTime("@$epoch");  // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00

Negli esempi sopra "r" e "Ymd H: i: s" sono formati di data PHP, altri esempi:

Formato di output

r              -----    Wed, 15 Mar 2017 12:00:00 +0100 (RFC 2822 date)
c              -----    2017-03-15T12:00:00+01:00 (ISO 8601 date)
M/d/Y          -----    Mar/15/2017
d-m-Y          -----    15-03-2017
Y-m-d H:i:s    -----    2017-03-15 12:00:00
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.