记录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月。其他都正常。
posted on 2019-04-12 13:38  一级码农VIP  阅读(7618)  评论(0编辑  收藏  举报