Javascript中使用新日期(“2014年8月11日”)和新日期(“2014-08-11”)时的不同日期
Javascript中使用新日期(“2014年8月11日”)和新日期(“2014-08-11”)时的不同日期,javascript,date,date-parsing,Javascript,Date,Date Parsing,新日期(“2014年8月11日”)给出了2014年8月11日周一00:00:00 GMT+0100(GMT夏令时)哪一个是正确的,但是 新日期(“2014-08-11”)给出了2014年8月11日周一01:00:00 GMT+0100(GMT夏令时) 为什么这两次约会相差1小时 我正在尝试减去2个日期,如果两个日期相同,则预期结果为“0”。但在我上面的例子中,它不是零 关于parse函数(其在Date构造函数中的解析)的性能说明如下: 给定日期字符串“2014年3月7日”,parse假设本地时区
新日期(“2014年8月11日”)
给出了2014年8月11日周一00:00:00 GMT+0100(GMT夏令时)
哪一个是正确的,但是
新日期(“2014-08-11”)
给出了2014年8月11日周一01:00:00 GMT+0100(GMT夏令时)
为什么这两次约会相差1小时
我正在尝试减去2个日期,如果两个日期相同,则预期结果为“0”。但在我上面的例子中,它不是零 关于
parse
函数(其在Date
构造函数中的解析)的性能说明如下:
给定日期字符串“2014年3月7日”,parse假设本地时区,但给定ISO格式(如“2014-03-07”),parse假设时区为UTC。因此,使用这些字符串生成的日期对象将表示不同的时间时刻,除非系统设置了UTC的本地时区
在GMT+2的人会看到2小时的差异
如果无法正确解析日期,并且对作为输入的字符串类型有信心,则可能会强制时区:
var date = new Date(str+" UTC");
对于您的查询,您可以尝试此新的日期()格式 新日期(“2014年8月11日”)为2014年8月11日星期一00:00:00 GMT+0100(GMT夏令时)