【发布时间】:2021-07-22 20:26:23
【问题描述】:
我使用时刻来获取时间,但是对于 1 小时前发生的事情,它是这样表示的:'am 小时前',是否有可能得到 '1 小时前'?几个月前一样,'一个月前' => '1个月前'
【问题讨论】:
-
请提供一个可重现的例子
标签: momentjs
我使用时刻来获取时间,但是对于 1 小时前发生的事情,它是这样表示的:'am 小时前',是否有可能得到 '1 小时前'?几个月前一样,'一个月前' => '1个月前'
【问题讨论】:
标签: momentjs
您可以配置时刻以您想要的任何格式显示相对时间。例如:
moment.updateLocale('en', {
relativeTime : {
future: "in %s",
past: "%s ago",
s : 'a few seconds',
ss : '%d seconds',
m: "a minute",
mm: "%d minutes",
h: "1 hour ago", //this is the setting that you need to change
hh: "%d hours",
d: "a day",
dd: "%d days",
w: "a week",
ww: "%d weeks",
M: "1 month ago", //change this for month
MM: "%d months",
y: "a year",
yy: "%d years"
}
});
进行此更改后,矩库可以照常使用。
以下是一些示例:
moment('2021-07-23 14:00:00').fromNow();
如果您的日期格式与预期不同,那么您还需要提供获取日期的格式。不这样做将返回“无效日期”。
moment('21/07/2021',"DD/MM/YYYY").fromNow();
您还可以指定多种格式:
moment('21-07-2021', ['DD/MM/YYYY', 'YYYY/MM/DD']).fromNow();
您可以随时检查您是否获得了有效日期。这有助于进行一些检查,或者在调试代码时会有所帮助:
moment('abc', ['MM/DD/YYYY', 'YYYY/MM/DD']).isValid() //false
有关更多信息,请参阅此处的文档:https://momentjs.com/docs/#/customization/relative-time/
【讨论】: