如果您在AWS Lambda上使用moment JS来格式化日期,您可能会遇到一个问题,即结果与本地机器的结果不同。这是因为AWS Lambda中的机器可能设置为不同的时区,并且moment JS默认使用本地时区。为了解决此问题,您可以指定在正确的时区下格式化日期。
下面是一个示例Lambda函数,使用moment JS格式化日期:
const moment = require('moment-timezone');
exports.handler = async (event) => {
let date = new Date();
let formattedDate = moment(date).format('YYYY-MM-DD');
console.log("Formatted date: " + formattedDate);
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'),
};
return response;
};
为了指定时区,您可以传递第二个参数到moment函数中,例如:
let formattedDate = moment(date).tz('Asia/Shanghai').format('YYYY-MM-DD');
这将在亚洲/上海时区下格式化日期。您可以根据需要更改时区。
使用moment-timezone库时,必须将其安装为依赖项。您可以通过在AWS Lambda函数目录中运行以下命令来安装它:
npm install moment-timezone
通过指定正确的时区,您应该能够在AWS Lambda上得到与本地机器相同的日期格式化结果。