有没有办法让moment.js输出" 1天"而不是"一天"?

时间:2015-05-31 15:30:51

标签: momentjs

我正在使用Time to XMoment.js功能。当第二个参数为a day时,结果为1 day。有没有办法通过API制作此{{1}},还是需要进行字符串替换?

3 个答案:

答案 0 :(得分:2)

您可以使用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

答案 1 :(得分:1)

好吧,有时当结果非常简单时,就去吧。一个字符串替换只是一行代码...即使有一个api的解决方案,我敢肯定它会比执行字符串替换更“复杂”...或者只是编写一个可重用的函数并调用它函数结果如:replaceString(Time_to_X);其中replaceString是一个使用字符串替换

的函数

答案 2 :(得分:0)

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

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

这里有评论小提琴:https://jsfiddle.net/ichepurnoy/6bxujv8j/