今天一同事项目出了一个bug,她有两个时间,必须判断出这两个时间的属于哪周,并做出不同的逻辑处理
首先她自然想到了new Date().getTime()获取到了时间戳,然后new Date().getTime()/1000/60/60/24/7
然而里面的坑却慢慢的浮现出来。。。。
首先是getTime()拿到的时间戳,我很好奇的打印出来看了看
new Date('1970/1/1 00:00:00').getTime() ========== 》 -28800000
发现了第一个坑,它为啥不是0!!
算了一下:28800000 == 8小时
好像发现了什么
快乐的用了上去
(new Date().getTime('2017/8/28 00:00:00')+28800000)/1000/60/60/24/7 ========== 》 2486.5714285714284
为什么不是整数?28号是周一啊
我又去看了日历1970/1/1,真相大白,那天它是周四~~~~
经过爬了几个坑,最终得出了公式:
((new Date('2017/8/28 00:00:00').getTime()+28800000)/1000/60/60/24+3)/7