在Javascript / moment.js中将UTC日期视为本地

时间:2018-08-02 15:25:15

标签: javascript date momentjs

我认为这个问题被问过很多次,但是我找不到适合我需求的答案:(

让我说以下内容:
const filter = '2018-08-03T00:00:00.000Z'; //UTC - I get it from client const timezone = '-0800'; //I get it from account settings in DB

问题:
我如何从这些数据中获得新的日期,即2018-08-03T08:00:00.000Z? 我尝试了多种将utc转换为本地(包括momentjs)的方法,但是得到的是:2018-08-02T16:00:00.000Z

代码示例

const fromDate = req.payload.date;
console.log(fromDate instanceof Date); //true
console.log(fromDate); //'2018-08-03T00:00:00.000Z'
const newDate = moment(fromDate).tz('America/Yakutat');
console.log(newDate.format()); //actual: '2018-08-02T16:00:00', expected: '2018-08-03T08:00:00'

console.log(newDate.toISOString()); //'2018-08-03T00:00:00.000Z'

我们正在使用矩v 2.12,所以我不能使用带有true标志的toISOString()。

谢谢!

0 个答案:

没有答案