我在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);}
});
}
});
答案 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')