我正在尝试在dynamodb中实现TTL(生存时间),并获得带有时间的意外结果。
我填充该数据库的lambda函数(nodejs10.x)对created_on
和code_expiration
字段使用以下代码:
const created_on = Date.now()
const code_expiration = created_on + (process.env.EXPIRY_MINUTES * 60 * 1000)
在我的lambda的环境变量中,我将
EXPIRY_MINUTES
设置为2880查看https://www.epochconverter.com/,我得到了以下时间整数:
created_on: 1569822339715
GMT: Monday, September 30, 2019 5:45:39.715 AM
Your time zone: Monday, September 30, 2019 1:45:39.715 AM GMT-04:00 DST
Relative: 9 minutes ago
code_expiration: 1569995139715
GMT: Wednesday, October 2, 2019 5:45:39.715 AM
Your time zone: Wednesday, October 2, 2019 1:45:39.715 AM GMT-04:00 DST
Relative: In 2 days
我好奇,为什么当我将鼠标悬停在dynamodb的记录上时,它显示的日期是未来约5万年?
我需要以不同的方式捕获时代吗?
如果我处理正确,TTL服务会显示为02/10/2019或02/03/51721吗?
最佳答案
const created_on = Math.floor(new Date().getTime() / 1000.0)
const code_expiration = created_on + (process.env.EXPIRY_MINUTES * 60)
不转换为毫秒