Moment.js-如何正确转换时间格式以正确进行时区转换

时间:2019-12-23 02:27:24

标签: javascript momentjs moment-timezone

下面的代码是当前时区文档,可以正常工作。结果就是我想要的。 documentation

import moment from 'moment-timezone';

let timeInput = "2014-06-01 12:00";


var newYork    = moment.tz(timeInput, "America/New_York");
var losAngeles = newYork.clone().tz("America/Los_Angeles");
var london     = newYork.clone().tz("Europe/London");

console.log(newYork.format("LLLL"));    // Sunday, June 1, 2014 12:00 PM
console.log(losAngeles.format("LLLL")); // Sunday, June 1, 2014 9:00 AM
console.log(london.format("LLLL"));     // Sunday, June 1, 2014 5:00 PM

问题

我正在使用一个输出日期对象的日期/时间材料选择器小部件。当我尝试格式化日期/时间时,结果如下:

let timeAndDate = moment(dateObj).format("LLL");

// Thursday, December 26, 2019 12:00 PM
// I can also get "2019-12-26T00:00:00-08:00" by doing format()

在下面的代码中,我希望时间偏移与我在上面发布的初始代码相同-并非如此。

import moment from 'moment-timezone';

let timeInput = "Thursday, December 26, 2019 12:00 PM";


var newYork    = moment.tz(timeInput, "America/New_York");
var losAngeles = newYork.clone().tz("America/Los_Angeles");
var london     = newYork.clone().tz("Europe/London");

console.log(newYork.format("LLLL"));    // Thursday, December 26, 2019 7:00 AM
console.log(losAngeles.format("LLLL")); // Thursday, December 26, 2019 4:00 AM
console.log(london.format("LLLL"));     // Thursday, December 26, 2019 12:00 PM

我的问题是,我该如何格式化这样的日期: “ 2019年12月26日(星期四)下午12:00”并将其转换为“ 2019-12-26 12:00”这样的格式,以便我可以在自己的应用中正确地在时区之间进行转换?

1 个答案:

答案 0 :(得分:1)

使用newYork.format("YYYY-MM-DD HH:mm")

相关问题