我在项目中使用 Moment.js 库进行一些时间操作。
我目前使用该calendar
函数,它返回诸如“今天下午 6 点 28 分”或“上周日下午 6 点 42 分”之类的信息。
我现在需要精确到秒的信息,例如“今天下午 6:28:39”或“上周日下午 6:42:55”。Moment.js 库中是否有任何内置方法可以执行此操作?
我在项目中使用 Moment.js 库进行一些时间操作。
我目前使用该calendar
函数,它返回诸如“今天下午 6 点 28 分”或“上周日下午 6 点 42 分”之类的信息。
我现在需要精确到秒的信息,例如“今天下午 6:28:39”或“上周日下午 6:42:55”。Moment.js 库中是否有任何内置方法可以执行此操作?
Moment 是高度可定制的。在这种情况下,您要格式化 LT 条目,因为日历对象使用它:
moment. locale('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.locale('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"
您可以更改 Moment 的长日期格式以包含秒数。 默认情况下,该calendar
函数使用LT
最初设置为"h:mm a"
(时间到分钟加上 AM/PM)的格式。您可以更改LT
格式以包含秒( ) "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"
}
});