【发布时间】:2019-06-03 08:48:18
【问题描述】:
我尝试构建 jquery 倒数计时器,但结束日期在带有时间戳自定义格式的 mysql 数据库中
这是我在数据库中保存的日期。
2019-01-09 12:48:29
该日期是 GMT+0000,即 UTC。但是当我尝试在下面的 javascript 中显示它时
var countdown = new Date("<?php echo $getDate['date_end'];?>");
console.log(countdown);
它会显示输出
Wed Jan 09 2019 12:48:29 GMT+0700 (GMT+07:00)
这是错误的,因为当我将 $getDate['date_end'] 保存到我的数据库时是 UTC 格式 (+0000) 为什么它在 javascript 中变为 GMT +0700?
我尝试使用此代码将其转换为 UTC
var countdown = new Date("<?php echo $getRound['date_end'];?>");
var a = countdown.toUTCString();
console.log(a);
但输出会给出不同的小时数
Wed, 09 Jan 2019 05:48:29 GMT
【问题讨论】:
-
可能是因为 JS date 方法返回的是你的本地日期/时间,而服务器在另一个位置,反之亦然。
-
If no arguments are provided, the constructor creates a JavaScript Date object for the current date and time according to system settings for timezone offset.src 在javascript中创建日期时需要指定时区 -
所以我需要获取时区偏移然后添加到时间?
-
使用这个:
countdown = new Date(countdown.getTime() - countdown.getTimezoneOffset() * 60000);
标签: javascript php date datetime utc