Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 某些年份中10月20日日期的问题_Javascript_Date - Fatal编程技术网

Javascript 某些年份中10月20日日期的问题

Javascript 某些年份中10月20日日期的问题,javascript,date,Javascript,Date,我用Javascript编写了一些代码,这些代码运行起来没有任何问题。 但当我输入日期为2013年10月20日时,返回的日期为2013年10月19日 这同样适用于2019年、2024年和2030年(未测试 前几年,而不是以后)。 这个问题在我测试的所有浏览器中都会出现(Google Chrome、Internet Explorer、Mozilla Firefox、Opera和Safari) 当我写作时: date = new Date("10/20/2013"); document.write(

我用Javascript编写了一些代码,这些代码运行起来没有任何问题。 但当我输入日期为2013年10月20日时,返回的日期为2013年10月19日

这同样适用于2019年、2024年和2030年(未测试 前几年,而不是以后)。

这个问题在我测试的所有浏览器中都会出现(Google Chrome、Internet Explorer、Mozilla Firefox、Opera和Safari)

当我写作时:

date = new Date("10/20/2013");
document.write(date);
我得到的结果是:

2013年10月19日星期六23:00:00 GMT-0300(BRT)



有人可以告诉我为什么会发生这种情况,以及我如何解决这个问题?

一些浏览器在使用Date.parse(与“new Date(string)”相同)时可能会显示不正确的值。我不知道原因,但创建日期的最佳方法是使用

例如:

console.log(new Date(2013, 10, 20))

2013年10月20日是BRST的交接日。因此,如果您在巴西(BRST时区),您将从BRT(UTC-3)过渡到BRST(UTC-2)

发件人:

圣保罗当前时间:2013年5月22日星期三下午3:19:14 BRT

圣保罗将继续使用BRT,直到2013年10月20日(星期日)为止 BRST

转换发生在午夜,跳过午夜到凌晨1点。要保证该日期的时间,您可以尝试:

date = new Date("10/20/2013 01:00:00");
您应该获得
10/20/2013 01:00:00
,以BRST作为时区名称

对于在美国时区参与DST的人来说,他们希望看到这个问题;使用2013年3月10日的美国夏令时转换点,从凌晨2点跳到凌晨3点:

var d = new Date("03/10/2013 02:59:59")
alert(d);   // Returns 1:59:59 AM in the Standard Time Zone

var d = new Date("03/10/2013 03:00:00")
alert(d);   // Returns 3:00:00 AM in the Daylight Time Zone

在10月20日推出的最新Chrome中,我的工作状态很好,正如预期的那样?->也许这是你的时区…这里也正常工作。更多关于JS问题的信息与日期有时间变化,这解释了为什么只有在特定年份,即当日期落在星期日!很好,约翰,太好了!Google Chrome将您的约会时间恢复为1小时,但Safari mantains将更改为BRST。