使用自epoch以来以毫秒为单位的时间比较javascript中的日期和时间

Compare date and time in javascript using time in milliseconds since epoch

本文关键字:时间 比较 javascript 日期 epoch 为单位      更新时间:2023-09-26

使用epoch(UTC)时间比较日期和时间是一种好的做法吗?我在网上查了一下,但并没有得到这个例子。这种方法有负面影响吗?

if(date_utc1>dateutc2){
  //do something
 }

这里date_utc1和date_utc2是epoch 中的时间

我从评论中了解到,其中一个日期是服务器端生成的日期,但另一个是客户端生成的日期。在没有完全理解这里所涉及的逻辑的情况下,我只想简短地指出(对不起,没有代表可供评论),这两个时钟可能在时间上不完全一致(是否以epoch表示)。

如果可能的话,更好的解决方案是只依赖一个(服务器)时钟。当客户端最初从服务器接收数据时,客户端会保留服务器端的时间戳(需要是响应的一部分)。接下来,如果客户端想要检查服务器是否有更多的数据,则应该发回持久化的值。通过这种方式,我们可以确保服务器只返回自上次获取以来已更改的内容。

您可以使用Date.now()在所有最近的浏览器中获取当前时间。如果需要的话,你也可以在旧的浏览器中使用+new Date()来获得相同的数字

由于从服务器返回的数据自epoch格式以来已经是一个以毫秒为单位的数字,因此使用此信息进行比较是有意义的,因为不需要对来自服务器的数据进行其他计算或解析。

我不认为这里有任何负面影响。