小弟最近正在学习Web开发,用浏览器的开发者工具去看别人如何写代码,发现这么一个问题,真心不知道啥意思,真心求解惑,如图:
我调试打印new Date()显示是从0000年开始的,别人又说从1970年开始的,到底是从什么是否开始的呢?
然后红框中的(new Date())-2147483647*623是啥意思咧?
真心求教了,谢谢
new Date()在js中获取的是你本地运行环境的时间,用new Date()的时间戳-后面的运算的数字=预定单ID。设计的人就是这么设计的生成预定单ID
new Date()是当前计算机日期,不是从那年开始。
2147483647这个才是1970-1-26的时间戳
我认为你只需要记住,每个时间都对应得有一个唯一的毫秒数,可以通过这个毫秒数来区分时间或计算时差之类的就足够了。上面的预定单ID后面最终会生成一个独立的串,我想它是为了生成一个临时的定单ID才用这样的方式,除了用这种方式,常用的还有uuid等。
这个是一个唯一的时间戳. 时间戳在不同时间都不一样,确保了唯一性