我正在建立一个需要帖子过期的系统,我需要将两者进行比较以确定它是否过期。我正在使用Meteor,因此我可以在客户端或服务器端执行此操作(假设后者是首选)。

查看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而不是当地时间。永远规划成功!

09-30 14:29
查看更多