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

时间:2014-06-19 20:51:28

标签: javascript datetime

我设置的系统需要有过期的帖子,我需要比较两者以确定它是否已过期。我使用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
 }

1 个答案:

答案 0 :(得分:1)

您应该以可配置的方式存储到期时间跨度而不是实际日期。这可以是配置文件或数据库或其他一些持久性机制。对于您的业务实体,您只需存储创建时间。这种方式可以在客户端或服务器端轻松计算到期。像过期这样的硬编码值不是一个好主意。

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