2013-09-20 4 views
4

Я использую библиотеку Moment.js для некоторых операций в проекте.Календарь Momentjs со вторыми

В настоящее время я использую функцию calendar, которая возвращает информацию типа «Сегодня в 18:28» или «Последнее воскресенье в 18:42».

Теперь у меня есть потребность в второй точной информации, например «Сегодня в 6:28:39 PM» или «в прошлое воскресенье в 6:42:55». Есть ли встроенный способ сделать это в библиотеке Moment.js?

ответ

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" 
+0

Супер, спасибо! – NickAldwin

1

Вы можете изменить длинные форматы Moment для включения секунд. By default, функция calendar использует формат LT, который изначально установлен на "h:mm a" (время до минут плюс AM/PM). Вы можете alter формат LT включить seconds ("h:mm:ss A") следующим образом:

moment.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" 
    } 
}); 

More details here.

Смежные вопросы