我有倒计时插件,它需要一个时间戳并以天/小时/分钟的形式返回一个倒计时......我所有的时间戳都存储在 UTC timezone 中。
所以这在我改变我的网站时区之前工作正常。
我必须不时更改我的时区......所以现在我得到的所有倒计时都是错误的。
这就是我的插件的基本工作方式
time_left_ms = given timestamp - currentstime stamp / 1000 ;
例如
var time_left = Math.floor((options.timestamp - (new Date())) / 1000);
所以我想我可以像这样使用UTC时间戳来修复它
var d = new Date();
var utc =Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds());
left = Math.floor((options.timestamp - (utc)) / 1000);
但仍然是同样的错误结果......之后我试过这个看看发生了什么
console.log( d +'####'+utc +'####'+d.getTime());
这是输出
Thu Sep 19 2013 19:10:13 GMT+0330 (Iran Standard Time)##1379605213010##1379605213010
怎么了 ?显然时区在 Asia/Thran ...但是为什么我得到 Asia/tehran 和 UTC 的相同时间戳?... 两者都是1379605213010