存储过期日期/时间戳的正确方法是什么?

What is the proper way to store an expiration date/timestamp?

本文关键字:方法 是什么 过期 日期 时间戳 存储      更新时间:2023-09-26

我正在设置一个系统,该系统需要有过期的帖子,并且我需要比较两者以确定它是否过期。我使用流星,所以我可以在客户端或服务器端(我假设后者是首选)。

查看MDN,我不太确定如何存储时间戳和使用什么格式。似乎最天真的方法是使用Date.now()作为当前时间,并为过期的时间戳添加30天(毫秒)。有更好的方法吗?

postModel = {
  id: String
  createdOn: Date.now()
  expiresOn: Date.now() + 2592000000 // 30days
}

post = getPost()
 if (post.expires is after now) {
   // throw expired error
 }

您应该以可配置的方式存储过期时间跨度而不是实际日期。它可以是配置文件、数据库或其他持久性机制。对于您的业务实体,您只需要存储创建时间。这样就可以很容易地在客户端或服务器端计算过期时间。硬编码诸如过期之类的值并不是一个好主意。

另外,您应该使用UTC而不是本地时间。永远为成功而计划!