Momentjs日历与秒

时间:2013-09-20 22:29:48

标签: javascript time momentjs

我在项目中使用Moment.js库进行一段时间的操作。

我目前使用calendar函数,该函数返回“今天下午6:28”或“上周日下午6:42”等信息。

我现在需要第二准确的信息,例如“今天下午6:28:39”或“上周日下午6:42:55”。在Moment.js库中有没有内置的方法呢?

2 个答案:

答案 0 :(得分:3)

Moment is highly customizable。在这种情况下,您希望格式化LT条目,因为日历对象使用:

moment.lang('en', {
    calendar : {
        lastDay : '[Yesterday at] LT',
        sameDay : '[Today at] LT',
        nextDay : '[Tomorrow at] LT',
        lastWeek : '[last] dddd [at] LT',
        nextWeek : 'dddd [at] LT',
        sameElse : 'L'
    }
});

在改变之前:

moment().subtract('days', 2).calendar()
"last Wednesday at 3:44 PM"

所以现在你需要自定义LT:

moment.lang('en', {
    longDateFormat : {
        LT: "h:mm:ss A", // <----------- add :ss
        L: "MM/DD/YYYY",
        l: "M/D/YYYY",
        LL: "MMMM Do YYYY",
        ll: "MMM D YYYY",
        LLL: "MMMM Do YYYY LT",
        lll: "MMM D YYYY LT",
        LLLL: "dddd, MMMM Do YYYY LT",
        llll: "ddd, MMM D YYYY LT"
    }
});

现在你的时间缩短了几秒钟:

moment().subtract('days', 2).calendar()
"last Wednesday at 3:41:05 PM"

答案 1 :(得分:1)

您可以将Moment的长日期格式更改为包含秒数。 calendar LT函数使用"h:mm a"格式,该格式最初设置为LT(时间分钟加上AM / PM)。您可以By default "h:mm:ss A"格式包含altermoment.lang('en', { longDateFormat : { LT: "h:mm:ss A", L: "MM/DD/YYYY", l: "M/D/YYYY", LL: "MMMM Do YYYY", ll: "MMM D YYYY", LLL: "MMMM Do YYYY LT", lll: "MMM D YYYY LT", LLLL: "dddd, MMMM Do YYYY LT", llll: "ddd, MMM D YYYY LT" } }); ),如下所示:

{{1}}

seconds