JavaScript Azure函数返回的时间戳位于默认UTC时区,而不是应用程序设置中设置的时区。
我想在计时器触发的Azure函数中比较使用JavaScript代码的时间戳。如果时间戳的前15个字符匹配,则执行操作。
var timeStamp = new Date().toISOString();。WEBSITE_TIME_ZONE \ Mountain State Time。time时,将按预期返回山区状态时间中的当前时间。index.js
module.exports = async function (context, myTimer) {
var timeStamp = new Date().toISOString();
...
var timeStampB = result[i].CreatedDate;
var timeStampBCut = timeStampB.substring(0, 15);
var timeStampCut = timeStamp.substring(0, 15);
if (new String(timeStampBCut).valueOf() == new String(timeStampCut).valueOf()) {
...function.json
{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 */25 * * * *"
}
]
}(timeStampB在山岳时间。)
当我测试var timeStamp = new Date().toISOString();返回的var timeStamp = new Date().toISOString();时,结果是,例如,2018-12-21T23:35:18.894Z,它是UTC时间。但是,当我在Azure函数的控制台中输入time时,返回的时间是山区状态时间。
我希望时间戳在同一个时区,这样我就可以准确地比较两个时间戳的前15个字符。
谢谢你的帮助。
发布于 2018-12-31 18:35:05
最后,我使用力矩时区将MST时间戳转换为UTC,从而匹配Azure函数的时区。
var moment = require('moment-timezone');
var tz = 'America/Denver'
var mstTimeStampUtc = moment.tz(mstTimeStamp, tz).utc().format();https://stackoverflow.com/questions/53891951
复制相似问题