【发布时间】:2019-01-02 19:46:46
【问题描述】:
我正在使用 momentjs 进行日期操作,并且想要编写一个场景,如果给出了时间戳,并且给出了时区名称,那么我想将时间重置为午夜。例如
let timestamp = 1493638245234;
expect(new Date(timestamp).toISOString()).toBe('2017-05-01T11:30:45.234Z'); // Time in UTC
let truncatedTimestamp = functionName(timestamp, 'America/Los_Angeles');
console.log(truncatedTimestamp);
expect(new Date(truncatedTimestamp)).toBe('2017-05-01T04:00:00.000Z');
const functionName = (timestamp, timezone) => {
return moment
.tz(timestamp, timezone)
.startOf('day')
.toDate()
.getTime();
};
我希望函数 'functionName' 返回 America/Los_Angeles 时间的午夜,而不是 UTC。
我输入的时间戳是 2017 年 5 月 5 日上午 11:30 UTC。
我希望该函数返回我 2017 年 5 月 5 日 00:00 America/Los_Angeles 的时间戳(自 2017 年 5 月 5 日上午 11:30 UTC 将是上午 11:30 -7 小时 America/Los_Angeles。)并将其转换为毫秒。
【问题讨论】:
标签: javascript ecmascript-6 momentjs moment-timezone