问题描述
我在SPA应用程序中使用了Momentjs。
我的初衷是使用calendarFormat
在页面的一部分中自定义日历,并在其他部分使用默认的calendarFormat。
不幸的是,我不知道如何设置默认的calendarFormat。
还有主意吗?
解决方法
Ciao,您可以定义一个defaultCalendar
对象,并在想要显示默认日历格式时使用它:
let defaultCalendar = {
sameDay: '[Today]',nextDay: '[Tomorrow]',nextWeek: 'dddd',lastDay: '[Yesterday]',lastWeek: '[Last] dddd',sameElse: 'DD/MM/YYYY'
};
let anotherCalendar = {
sameDay: 'DD/MM/YYYY',nextDay: 'DD/MM/YYYY',nextWeek: 'DD/MM/YYYY',lastDay: 'DD/MM/YYYY',lastWeek: 'DD/MM/YYYY',sameElse: 'DD/MM/YYYY'
};
console.log(moment().calendar(null,defaultCalendar));
console.log(moment().calendar(null,anotherCalendar));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
,
我想出了一个巧妙的解决方案:
const defaultCalendarFormat = moment.calendarFormat;
moment.calendarFormat = myCalendarFormat;
moment.calendarFormat = defaultCalendarFormat;