有没有办法让瞬间.js输出"1 day"而不是"a day"?



我使用的是Moment.js的Time to X函数。当第二个参数为true时,则结果为a day。是否有办法使这个1 day通过API,还是我需要做一个字符串替换?

可以使用字符串。用"1 day"代替"a 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

有时候,当结果很简单时,就去做吧。字符串替换只是一行代码…即使有api的解决方案,我敢肯定它会比做一个字符串替换更"复杂"…或者只是写一个可重用的函数,并在结果上调用该函数,如:其中replaceString是一个使用字符串replace

的函数

我有一个简单的100%的解决方案:

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

这里有一个注释:https://jsfiddle.net/ichepurnoy/6bxujv8j/

相关内容

最新更新