【发布时间】:2020-06-23 16:51:59
【问题描述】:
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)
我在这里做错了什么?
【问题讨论】:
-
PHP 日期是 UTC 吗?
-
@RiggsFolly,后面的 Z 标志并不表示祖鲁时间,而是表示它是 UTC 时间字符串 - reference
-
@Klaycon 正确,对不起!但是,如果您将 UTC 时间放入浏览器中的 js 中,它将使用浏览器中的时区根据时区重新排列日期/时间
-
GMT+1000??什么? 1000 什么? -
@Klaycon——“Zulu”、“Z”和“UTC”(甚至 GMT)实际上都是一样的:零偏移。他们没有告诉你任何关于字符串格式的信息。
标签: javascript php date