【问题标题】:Moment.js - How to convert time formats correctly to properly do time zone conversionsMoment.js - 如何正确转换时间格式以正确进行时区转换
【发布时间】:2019-12-23 02:27:24
【问题描述】:

下面的代码是即时时区文档,它运行良好。结果就是我想要的。 https://momentjs.com/timezone/

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

我的问题是,如何获取格式如下的日期: “Thursday, December 26, 2019 12:00 PM”并将其转换为“2019-12-26 12:00”之类的格式,以便我可以在我的应用程序中正确转换时区?

【问题讨论】:

  • var newYork = moment.tz("Thursday, December 26, 2019 12:00 PM", "dddd, MMM DD, YYYY h:mm a", "America/New_York");

标签: javascript momentjs moment-timezone


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    相关资源
    最近更新 更多