我想用 shell 获取纪元时间 然后在 html 页面上使用 javascript 来获得另一个纪元时间 然后得到它们之间的区别 但恐怕不同脚本之间的纪元时间可能不同步 所以这个区别是没用的
所以我想知道,如果我同时使用 shell 和 javascript 来获取纪元时间 结果会不会一样? 如果不是,差异有多大?
谢谢!
最佳答案
如果您指的是自 Unix 纪元 (1970-01-01T00:00:00Z) 以来的秒数,则它受此定义约束。您应该能够看到的唯一差异是由以下原因引起的:
- 调用返回它的系统调用的不同时间*);
- 不同系统上的时钟不同步。
可能还有:
- 不同处理器内核/物理处理器上的时钟不同步;
- 实现依赖于返回当前时间的函数的处理(例如,JS 引擎实现可能会在短时间内缓存该值,而不必执行实际的系统调用,尽管我对此表示怀疑)。
根据您需要的时间分辨率,其中一些不是问题。我的猜测是,如果您不需要比 1 秒更细的粒度,那么(在同一台机器上)您应该已经足够好了。
*) 还要注意,在单核系统上,你不能真正从不同的系统调用中获得相同的时间(至少在 ns 分辨率下),除非内核缓存它,仅仅是因为它们必须一个接一个地发生.
关于javascript - 在具有不同脚本/程序的同一台机器上,纪元时间是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13232389/