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

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

使用纪元 (UTC) 时间比较日期和时间是一种好习惯吗? 我在互联网上查过,但没有得到这方面的例子。这种做法有什么负面影响吗?

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

这里date_utc1和date_utc2是纪元中的时间

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

由于从服务器返回的数据已经是这种milliseconds-since-epoch格式的数字,因此使用此信息进行比较是有意义的,因为没有其他计算或解析来自服务器的数据必须这样做。

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

我从评论中了解到其中一个日期是 server-side 生成日期,而另一个是 client-side 生成日期。在没有完全理解这里涉及的逻辑的情况下,我只想做一个简短的说明(抱歉没有评论代表)这两个时钟可能不完全一致(以或不以纪元表示)。

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