0

如果我在 GMT+5:30 运行此代码,则为 2013 年 12 月 1 日

如果我在 GMT-8 中运行相同的脚本,那就有些不同了。

我怎样才能在两个地区获得同一天(日期)?

JSFiddle 链接:

var date = new Date("2012-12-01");

alert(date);

http://jsfiddle.net/achieverprince/6RfWY/1/

4

2 回答 2

1

如果要确保Date在每个时区中引用相同的时间,请使用UTC

var date = new Date(Date.UTC(2012, 12 - 1, 1)); // months start 0
console.log(date.toUTCString());                // Sat, 01 Dec 2012 00:00:00 GMT
于 2013-07-26T12:11:14.753 回答
1

如果您在另一个地区,那么第二个地区的默认格式可能不是yyyy/MM/ddbut yyyy/dd/MM。为避免此问题,请尝试以下操作:

var date = new Date(2012, 11, 1);

alert(date);

希望这可以帮助。

[编辑]

根据Date()规范,Month 参数应该是从 0 到 11(0 是一月,11 是十二月)。

于 2013-07-26T12:04:12.453 回答