momentjs显示localtime和autoformat字符串

时间:2015-03-20 09:31:14

标签: javascript asp.net-mvc momentjs

Momentjs是否可以显示localtime和autoformat字符串。

我有例如。时间2015-03-20T09:08:53 + 01:00并希望momentjs以当地时间显示并以丹麦语开始格式化DD-MM-YYYY

$('[data-momentdate]').each(function () {
                                var localTime = moment.utc($(this).attr('data-momentdate')).toDate();
                                localTime = moment(localTime).format('YYYY-MM-DD HH:mm:ss');
                                $(this).html(localTime);
                            });

上面的代码将utc时间转换为当地丹麦时间,但我希望momentjs根据时区确定使用哪种格式

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

假设你有一个UTC日期时间字符串为2014-02-19 05:24:32 AM,你想确定你所在时区的时间,然后使用下面的代码:

moment.utc(' 2014-02-19 05:24:32 AM')。toDate();

toDate()方法给出了javascript Date()对象。

$(function(){
  setInterval(function(){
    var divUtc = $('#divUTC');
    var divLocal = $('#divLocal');  
    //put UTC time into divUTC  
    divUtc.text(moment.utc().format('YYYY-MM-DD HH:mm:ss'));      

    //get text from divUTC and conver to local timezone  
    var localTime  = moment.utc(divUtc.text()).toDate();
    localTime = moment(localTime).format('YYYY-MM-DD HH:mm:ss');
    divLocal.text(localTime);        
  },1000);
});

有关更多信息,请查看:How to get local time from UTC using Moment.JS。希望这会有所帮助...


<强>更新

默认情况下,时刻会以本地时间进行分析和显示。如果要以UTC格式解析或显示片刻,可以使用moment.utc()而不是moment()。

moment().format();     // 2013-02-04T10:35:24-08:00
moment.utc().format(); // 2013-02-04T18:35:24+00:00

另一方面,一个时区可能有不同的格式,在这种情况下你应该给出格式。除此之外,如果你想使用相同的格式,你可以在web.config上使用下面的全球化属性:

<system.web>
    <globalization culture="de-DE" uiCulture="de-DE" />