Javascript 某些年份中10月20日日期的问题
我用Javascript编写了一些代码,这些代码运行起来没有任何问题。 但当我输入日期为2013年10月20日时,返回的日期为2013年10月19日 这同样适用于2019年、2024年和2030年(未测试 前几年,而不是以后)。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(
这个问题在我测试的所有浏览器中都会出现(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。