[英]momentjs with two separate fromNow() formats
我正在嘗試獲取兩種不同類型的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'
}});
同
moment.utc(date).fromNow()
但這已全局應用到了矩的所有用途,我希望此文件之外的矩的其他用途對fromNow()
使用常規的較長文本格式。
我嘗試了:
let g = moment()
g.updateLocale('en', { relativeTime: {
...
但是它給出了錯誤g.updateLocale is not a function
。
有誰知道如何為fromNow()
日期格式獲取兩個不同的relativeTime
設置?
謝謝!
誠然,這不一定是最優雅的解決方案,但是在您要使用自定義語言環境格式的一個文件中,您可以:
relativeTime
的對象。 relativeTime
格式全局設置為自定義格式。 moment
日期/字符串操作。 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();
這是一個代碼沙箱,顯示了此操作:
其他資源:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.