我正在尝试在dynamodb中实现TTL(生存时间),并获得带有时间的意外结果。

我填充该数据库的lambda函数(nodejs10.x)对created_oncode_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万年?
javascript - dynamodb nodejs/lambda date.now()-LMLPHP


  我需要以不同的方式捕获时代吗?
  
  如果我处理正确,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)


不转换为毫秒

10-07 23:43