【问题标题】:Moment.js, how to just change a format of a date without changing timezone?Moment.js,如何在不更改时区的情况下更改日期格式?
【发布时间】:2013-09-10 12:28:53
【问题描述】:

我想更改日期和时间字符串的格式。但是 moment.js 将时区更改为我的系统时区(+3):

// This is a string:
"2013-09-20 23:59:59 +0100"

// I want to change it to this:
"20-09-2013 23:59:59 +0100"

// This is what I do and what I get. 1 hour is added by force:
moment("2013-09-20 23:59:59 +0100").format("DD-MM-YYYY HH:mm:ss ZZ")
"21-09-2013 01:59:59 +0300"

如何只更改格式而不更改时区?

【问题讨论】:

    标签: javascript datetime momentjs


    【解决方案1】:

    在 moment.js v-2.8.3 中:

    var dateTime = "2014-12-09 13:59:59 +0930";
    var parseDateTimeZone = moment.parseZone(dateTime).format("YYYY-MM-DDTHH:mm:ssZ");
    

    Doc-API

    【讨论】:

      【解决方案2】:

      请直接查看moment issue #887。在未来的版本中可能会更容易,但目前的解决方法如下:

      var input = "2013-09-20 23:59:59 +0100";
      var m = moment(input).zone(input);
      m.format("DD-MM-YYYY HH:mm:ss ZZ")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-07-24
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 2021-01-11
        • 2021-08-30
        • 1970-01-01
        相关资源
        最近更新 更多