如何显示24小时而不是12小时。我想利用calendar()函数。
代码:
<p className="item__subtitle">{moment(props.note.updatedAt).locale('en-gb').calendar()}</p>
输出:
Today at 3:17 PM
答案 0 :(得分:0)
如果您尚未加载区域设置数据,则会看到此行为,因为如果找不到#section {
position: relative;
height: 70px;
z-index: 2;
padding-left: 10%;
padding-right: 10%;
clear: both;
max-width: 100%;
background-color: black;
}
#section-1 {
position: absolute;
text-align: center;
width: 50%;
height: 50%;
background-color: red;
opacity: 0.6;
}
,则会回退到<div id="section">
<div id="section-1"></div>
</div>
(相当于en-gb
in力矩)。
使用en
文件,或使用en-us
和moment-with-locales
区域设置文件。
答案 1 :(得分:0)
默认时间格式为LT
,因此您需要将其更改为HH:mm
。(moment/calendar.js at master · moment/moment)
您可以在第二个参数中设置calendar
的格式,如下所示。
.calendar(null, {
lastDay : '[Yesterday at] HH:mm',
sameDay : '[Today at] HH:mm',
nextDay : '[Tomorrow at] HH:mm',
lastWeek : '[last] dddd [at] HH:mm',
nextWeek : 'dddd [at] HH:mm',
sameElse : 'L'
})
完整代码:
<p className="item__subtitle">{moment(props.note.updatedAt).locale('en-gb').calendar(null, {
lastDay : '[Yesterday at] HH:mm',
sameDay : '[Today at] HH:mm',
nextDay : '[Tomorrow at] HH:mm',
lastWeek : '[last] dddd [at] HH:mm',
nextWeek : 'dddd [at] HH:mm',
sameElse : 'L'
})}</p>
如果要更改所有calendar
的格式,可以将格式设置为locale custom,如下所示。 (来自Customize > Calendar | Moment.js | Docs)
// From 2.12.0 onward
moment.updateLocale('en-gb', {
calendar : {
lastDay : '[Yesterday at] HH:mm',
sameDay : '[Today at] HH:mm',
nextDay : '[Tomorrow at] HH:mm',
lastWeek : '[last] dddd [at] HH:mm',
nextWeek : 'dddd [at] HH:mm',
sameElse : 'L'
}
});
// From 2.8.1 to 2.11.2 : `moment.locale('en-gb', {calendar : {...
// Deprecated in 2.8.1 : `moment.lang('en-gb', {calendar : {...