2017-04-12 30 views
0

簡短的問題:我需要一些時間將60分鐘人性化爲1 hour而不是an hour。無法弄清楚如何讓它工作。自定義某些時刻人性化的持續時間值

長問題: 剛開始使用momentjs,效果很好。我們正在使用它來顯示儀表板更新的頻率。

定時器以分鐘爲單位設置爲整數。我們正在使用的那一刻人文化選項顯示3030 minutes3606 hours

這個偉大的工程,但不是在2例。 60被人化爲an hour。我們需要它是1 hour。並且1440顯示爲a day,而不是1 day

我們需要此更改,因爲該列正在回答「您的指標更新頻率如何?」這一問題。

答案是「每1小時」。 「每個小時」都不起作用。

我仔細閱讀了文檔和Google搜索,但找不到一種方法來自定義一些人性化的顯示格式。

我們已經設置真正的第二個參數不帶後綴從這個問題得到公正的價值,並回答 - How to Customize Humanized Moment js Date Result

但值回來爲「一小時」,而不是「1小時」。

enter image description here

回答

1

您可以使用updateLocale方法在自定義文件 - 該文檔的>Relative time部分。這會影響from,fromNow,to,toNowhumanize的輸出。

在你的情況下,你可以簡單地更新relativeTime對象的hd鍵。

這裏工作示例:

moment.updateLocale('en', { 
 
    relativeTime : { 
 
    h: "1 hour", 
 
    d: "1 day", 
 
    } 
 
}); 
 

 
var d1 = moment.duration(60, 'm'); 
 
var d2 = moment.duration(1440, 'm'); 
 

 
console.log(d1.humanize()); 
 
console.log(d2.humanize());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>

您可以找到相對時間定製herehere的進一步的例子。

+1

謝謝!偉大的信息。 –

相關問題