我正在处理日期,当使用新的 Date() 方法进行约会时,我还有一天的时间。
我的代码:
let prueba = new Date('2018-12-04')
console.log(prueba)
在控制台中我有以下日期:
Mon Dec 03 2018 21:00:00 GMT-0300 (hora estándar de Argentina)
我的意思是,我希望日期是 12 月 4 日,而在控制台上我还有一天......
提前致谢....
我正在处理日期,当使用新的 Date() 方法进行约会时,我还有一天的时间。
我的代码:
let prueba = new Date('2018-12-04')
console.log(prueba)
在控制台中我有以下日期:
Mon Dec 03 2018 21:00:00 GMT-0300 (hora estándar de Argentina)
我的意思是,我希望日期是 12 月 4 日,而在控制台上我还有一天......
提前致谢....
当您使用该日期格式 ( yyyy-mm-dd )创建新的Date对象时,它将 00:00:00 作为时间,默认为 +0 作为时区。日期设置如下:2018 年 12 月 4 日凌晨 0 点,+0 区。
当您将浏览器日期打印到控制台时,它会调整为您在计算机上设置的时区,在本例中为 GMT-3。进行此调整以便您可以看到“转换”到您的时区的日期时,减去这三个小时的差异,您将在 -3 区留下 2018 年 12 月 3 日晚上 9:00。
确保在Date中保留正确日期的方法是同时添加时间:
通过这样做,浏览器假定指示的时间在您的时区,并自动调整它以正确存储它。
我推荐这部分代码来补偿由时区引起的差异,这就是导致日期差异的原因:
您正在使用 ISO 日期:“2018-12-04”(国际标准)。根据您的时区,它在 12 月 3 日和 12 月 4 日之间变化。虽然在您的情况下是阿根廷,但您应该在日期上再增加 1 天,以便显示您想要的确切日期。正如我重申的,它是标准的 Javascript。
参考: https ://www.w3schools.com/js/js_date_formats.asp