Domanda

YouTube restituisce la Updated date e la data Submitted on come segue: 2010-08-22T04:46:18.000Z

C'è una funzione PHP o una maschera data che analizza questo?

È stato utile?

Soluzione

$dt = DateTime::createFromFormat("Y-m-d\TH:i:s.uP", "2010-08-22T04:46:18.000Z");
var_dump($dt);
// object(DateTime)#1 (3) {
//   ["date"]=>
//   string(26) "2010-08-22 04:46:18.000000"
//   ["timezone_type"]=>
//   int(2)
//   ["timezone"]=>
//   string(1) "Z"
// }

Questo utilizza il DateTime classe. Si tratta di fuso orario e frazioni di secondo a conoscenza. Per visualizzare l'uso della data della href="https://www.php.net/manual/en/datetime.format.php" rel="nofollow noreferrer"> format metodo

echo $dt->format("Y-m-d H:i:s e");
// 2010-08-22 04:46:18 Z

Per convertire la data da utilizzare fuso orario locale il metodo setTimezone :

$dt->setTimezone(new DateTimeZone(date_default_timezone_get()));
echo $dt->format("Y-m-d H:i:s e");
// 2010-08-21 21:46:18 America/Los_Angeles

Altri suggerimenti

strtotime è quello che stai cercando.

EDIT: se questo non funziona, date un'occhiata alla Data e ora classi - ci sono metodi per l'analisi di date in formati specificati ( come questo - non restituisce un timestamp direttamente, ma se si costruisce un DateTime da questo, è possibile utilizzarlo di getTimestamp -Metodo)

Prova questo:

$date=substr("2010-08-22T04:46:18.000z",0,strlen("2010-08-22T04:46:18.000z")-1);
$stamp=strtotime($date);

Il "z" alla fine sembra essere il problema per strtotime.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top