我正在使用 moment-timezone.js
通过 node.js 将 UTC 时间转换为 America/New_York
我这样做是这样的:
var moment = require('moment-timezone');
moment.tz.add('America/New_York|EST EDT|50 40|0101|1Lz50 1zb0 Op0');
var now = new Date().toISOString();
now = moment(now).tz("America/New_York").toDate();
这似乎在我的本地机器上运行良好,但当我在 AWS Lambda 上运行它时, now
时间仍以 UTC 格式输出。
我在这里做错了什么吗?我真的不想为了获得准确的纽约时间而不得不使用 API。夏令时是这里最大的挑战。谢谢!
原文由 user1893702 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想出来的方法是:
我想指出一些事情,但我希望能为某人节省这让我负担重重的日子。我的主要问题是无论我在做什么,Amazon Lambda 都在提供 UTC 时间。此问题的解决方法是简单地设置 Node TZ 环境变量: