使用moment.js从时区偏移转换为本地时间

时间:2014-09-26 19:18:06

标签: javascript internet-explorer firefox momentjs

我在DOM中有一个带有时区偏移的日期时间。它看起来像 -

<div id="some">2014-09-26 23:57:02 +0530</div>

现在在Chrome中,我可以使用下面的代码将其转换为本地浏览器的时间与moment.js。

在FF中,它抱怨无效时间,IE会抛出时间。示例小提琴here

代码 -

 jQuery.fn.extend({
    convertTime: function(format) {
     return this.each(function(i, e) {
         var txt = $(e).html() ;
         try {
            $(e).html(  moment(txt).format('YYYY-MM-DD HH:mm:ss'));
         } catch(err) {console.log (err.message);$(e).html(txt);}
    });
  }
});

1 个答案:

答案 0 :(得分:1)

将格式字符串传递给片刻,以便它不会回到浏览器的日期解析器。

moment(txt,'YYYY-MM-DD HH:mm:ss ZZ').format('YYYY-MM-DD HH:mm:ss')

或者,以一刻识别as listed here的格式传递数据。在您的情况下,只需删除时间和偏移之间的空格即可。

var txt = '2014-09-26 23:57:02+0530';
moment(txt).format('YYYY-MM-DD HH:mm:ss')