我正在建立一个需要帖子过期的系统,我需要将两者进行比较以确定它是否过期。我正在使用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而不是当地时间。永远规划成功!