记录js new Date日期处理的一个坑


记录js日期处理的一个坑
 
当前时区为北美东部时区时,
new Date('2019-4-1')
new Date('2019-04-01')
结果是相关一个月的。
如下图
 
new Date('2019-04-01')
得到的日期居然是上个月
2019-03-31 20:00:00
 
原因没有深入研究
大概猜测可能是
new Date('2019-04-01'),实际对应的时间是2019-04-01 00:00:00 0时区。
然后转换为本地-4时区,就出现2019-03-31 20:00:00
得到的月份自然是上个月。
 
正确的做法
new Date('2019-4-1')
new Date(2019,3,1,0,0,0)
注意new Date(year,mon,day,hour,min,sec)中,mon月份是从0开始的,0表示1月,11表示12月。其他都正常。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM