Javascript PHP和JS对同一日期的转换不同

Javascript PHP和JS对同一日期的转换不同,javascript,php,date,Javascript,Php,Date,PHP: JS与我设置的匹配: $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 我做错了什么?

PHP:

JS与我设置的匹配:

$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

我做错了什么?

将时区传递到DateTime构造函数将覆盖时间字符串上的Z标志。创建不带时区的对象,然后进行设置:

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标志。创建不带时区的对象,然后进行设置:

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吗?@riggsfully,后面的Z标志不表示Zulu时间,但它是UTC时间字符串-@Klaycon正确,对不起!但是,如果将UTC时间放入浏览器中的js中,它将使用浏览器中的时区根据时区GMT+1000?重新排列日期/时间??什么1000什么?@Klaycon-Zulu,Z和UTC,甚至GMT实际上都是一样的:零偏移。他们不会告诉你任何关于字符串格式的信息。PHP日期是UTC吗?@RiggsFolly,后面的Z标志并不表示Zulu时间,但它是UTC时间字符串-@Klaycon Correct,对不起!但是,如果将UTC时间放入浏览器中的js中,它将使用浏览器中的时区根据时区GMT+1000?重新排列日期/时间??什么1000什么?@Klaycon-Zulu,Z和UTC,甚至GMT实际上都是一样的:零偏移。他们不会告诉你任何关于string.smart格式的信息。我一直在想,如果我住在GMTsmart以外的任何地方,我会如何处理约会。我一直在想,如果我住在格林尼治标准时间以外的任何地方,我将不得不如何处理日期