Javascript momentjs具有两种不同的fromNow()格式
我正在尝试获取两种不同类型的Javascript momentjs具有两种不同的fromNow()格式,javascript,reactjs,momentjs,Javascript,Reactjs,Momentjs,我正在尝试获取两种不同类型的relativeTime 在一个文件中,我有: moment.updateLocale('en', { relativeTime: { future: 'in %s', past: '%s ago', s: 'secs', ss: '%ss', m: 'a min', mm: '%dm', h: '1h', hh: '%dh', d: 'a day', dd: '%dd', M: 'month', MM: '%
relativeTime
在一个文件中,我有:
moment.updateLocale('en', { relativeTime: {
future: 'in %s',
past: '%s ago',
s: 'secs',
ss: '%ss',
m: 'a min',
mm: '%dm',
h: '1h',
hh: '%dh',
d: 'a day',
dd: '%dd',
M: 'month',
MM: '%dM',
y: 'year',
yy: '%dY'
}});
与
time.utc(date).fromNow()
但这将全局应用于所有使用矩的情况,我希望此文件以外的其他使用矩的情况使用常规的较长文本格式,用于fromNow()
我试过:
let g = moment()
g.updateLocale('en', { relativeTime: {
...
但是它给出了错误。UpdateScale不是一个函数
有人知道如何为fromNow()
日期格式设置两种不同的relativeTime
设置吗
谢谢 诚然,这不一定是最优雅的解决方案,但在您使用的一个文件中,您可以使用自定义区域设置格式:
relativeTime
的当前(原始默认)格式保存到对象相对时间
格式全局设置为自定义格式时刻
日期/字符串操作relativeTime
格式全局设置回保存的对象,恢复原始默认格式const CONFIG_ORIG = moment().locale("en").localeData()._relativeTime;
const CONFIG_NEW = {
future: "in %s",
past: "%s ago",
s: "secs",
ss: "%ss",
m: "a min",
mm: "%dm",
h: "1h",
hh: "%dh",
d: "a day",
dd: "%dd",
M: "month",
MM: "%dM",
y: "year",
yy: "%dY"
};
const DATE = new Date();
// Original format displays: "a few seconds ago"
const string1 = moment.utc(DATE).fromNow();
moment.updateLocale("en", { relativeTime: CONFIG_NEW });
// Custom format displays: "secs ago"
const string2 = moment.utc(DATE).fromNow();
moment.updateLocale("en", { relativeTime: CONFIG_ORIG });
// Restored original format displays: "a few seconds ago"
const string3 = moment.utc(DATE).fromNow();
下面是一个代码沙盒,它显示了这一点:
额外资源: