【问题标题】:Create a local date from a UTC date string in Moment.js从 Moment.js 中的 UTC 日期字符串创建本地日期
【发布时间】:2015-05-07 12:13:42
【问题描述】:

给定一个 UTC 日期字符串(格式:YYYYMMDDHHmmss),我想使用 Moment.js 创建一个带有本地时区的日期。我尝试了以下方法:

var utcDateStr = '20140101120000';
var localDate = moment.utc(utcDateStr, 'YYYYMMDDHHmmss');

//actual: true
//desired: false
console.log(localDate._isUTC)

//actual: "Wed Jan 01 2014 12:00:00 GMT+0000"
//desired: "Wed Jan 01 2014 07:00:00 GMT-0500"
console.log(localDate.toString())

当我调用toString()时,如何创建默认为本地时区格式的日期?

【问题讨论】:

    标签: javascript date timezone momentjs utc


    【解决方案1】:

    只需使用 .local() 函数,在 1.5.0 版本中添加。

    var localDate = moment.utc(utcDateStr, 'YYYYMMDDHHmmss').local();
    

    【讨论】:

      【解决方案2】:
      // UTC time
      var utcDateStr = '20140101120000';
      
      // First way
      var offset = moment().utcOffset();
      var localtime = moment.utc(utcDateStr,'YYYYMMDDHHmmss').utcOffset(offset);
      
      // Another way
      var anotherLocaltime= moment.utc(utcDateStr, 'YYYYMMDDHHmmss').local();
      

      这两种方式都很好......请参阅JsFiddle

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-27
        • 1970-01-01
        • 2013-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-26
        • 1970-01-01
        相关资源
        最近更新 更多