有没有一种方法,使moment.js输出“1天”,而不是“一日之寒”?(Is there a way

2019-10-23 05:36发布

我使用的时间X的功能Moment.js 。 当第二个参数是true ,那么结果是a day 。 有没有办法让这个1 day通过API,或者我需要做一个字符串替换?

Answer 1:

您可以使用方法与string.replace取代"a day""1 day"

或者你可以尝试这样的:

var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
var differenceInMillisec = a.diff(b);
var differenceInDays = a.diff(b, 'days'); //Output 1 day


Answer 2:

好了,有时候结果很简单,只是去了。 一个字符串替换是的代码只有一行...即使有与API的解决方案,我敢肯定,这将是更“复杂”不是做一个字符串替换...或只写一个可重复使用的功能,并调用像结果函数:replaceString(Time_to_X); 其中replaceString是一个函数使用字符串替换



Answer 3:

我有一个简单的100%解决你的问题:

moment.localeData()._relativeTime.d = '1 day'; // override 
console.log( moment.duration(1, 'days') );     // = '1 day', not 'a day'. 

这里包含注释的小提琴: https://jsfiddle.net/ichepurnoy/6bxujv8j/



文章来源: Is there a way to make moment.js output “1 day” instead of “a day”?
标签: momentjs