Pas grand-chose d'un mystère:
<?php
$timestamp = '2016-10-06T09:50:54.000Z';
$dt = new DateTime($timestamp);
var_dump($dt);
$dt->setTimezone(new DateTimeZone('Asia/Jakarta'));
var_dump($dt);
object(DateTime)#1 (3) {
["date"]=>
string(26) "2016-10-06 09:50:54.000000"
["timezone_type"]=>
int(2)
["timezone"]=>
string(1) "Z"
}
object(DateTime)#1 (3) {
["date"]=>
string(26) "2016-10-06 16:50:54.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(12) "Asia/Jakarta"
}
Contrairement à cordes, le format donnant à une date appropriée est trivial .
Je ne sais pas dans quel fuseau horaire Jam est mais je vous suggère d'attribuer une ville afin que vous puissiez expliquer DST (je l'ai utilisé Asia/Jakarta
dans mon exemple de code, la liste complète se trouve à List of Supported Timezones). Le simple fait de compter sur un décalage UTC comme +7
peut rendre votre code peu fiable pendant l'été.
Utilisez 'DateTime :: format()': http://php.net/manual/fr/class.datetime.php – CD001
Essayez simplement ceci: '$ strtotime = strtotime ('2016-10-06T09: 50 : 54.000Z '); $ date = date ("Y-m-d", $ strtotime); $ time = date ("H: s: i", $ strtotime); date_default_timezone_set ('America/New_York'); // définir votre fuseau horaire $ time_specific_zone = date ("H: s: je", $ strtotime); ' – AHJeebon