javascript - dynamodb nodejs/lambda date.now()
问题描述
我正在尝试在 dynamodb 中实现 TTL(生存时间)并在时间上得到意想不到的结果。
我填充此数据库的 lambda 函数 (nodejs10.x) 对created_on
andcode_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)
不要转换为毫秒
推荐阅读
- javascript - Fusion Chart 每个变量的不同绘图类型
- javascript - Bootstrap-multiselect 显示隐藏 div 元素
- powershell - 问题转移 ListboxItem 并在 Hashtable 中解决
- javascript - 添加两个数字并显示结果而无需单击按钮
- postgresql - 在 Google Cloud Postgres 上启用逻辑复制
- scala - 如何在注释宏中操作修饰符
- angular - 发送带有角度和离子框架的附加可观察对象的get
- javascript - TINYMCE 编辑器外部模板:未捕获的类型错误:无法读取未定义的属性“indexOf”
- python-3.7 - 如何使用 python 3.7 在 csv 文件中读写?
- tcp - netcat 和 scp 在身份验证、保密性和性能方面谁更好?如何