PHP:
$start_time = '2020-06-23T22:30:00Z';
$timezone = new DateTimeZone("Australia/Sydney");
$date1 = new DateTime($start_time, $timezone);
$result = $date1->format('Y-m-d H:i:s');
echo $result; // 2020-06-23 22:30:00
JS(匹配我的设置):
var date1 = new Date('2020-06-23T22:30:00Z')
console.log(date1) // Wed Jun 24 2020 08:30:00 GMT+1000 (Australian Eastern Standard Time)
我在这里做错了什么?
将时区传递到DateTime构造函数中将覆盖时间字符串上的Z标志。创建没有时区的对象,然后进行设置:
$date1 = new DateTime($start_time);
// object(DateTime)(
// 'date' => '2020-06-23 22:30:00.000000',
// 'timezone_type' => 2,
// 'timezone' => 'Z'
// )
$date1->setTimezone($timezone);
// object(DateTime)(
// 'date' => '2020-06-24 08:30:00.000000',
// 'timezone_type' => 3,
// 'timezone' => 'Australia/Sydney'
// )
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句