Moment.js持续时间天数错误

时间:2018-03-13 16:04:17

标签: javascript momentjs

我用moment.js和持续时间倒计时以返回天,小时,分钟和秒。所以,当我使用具有毫秒的moment.duration时,它会返回一个无意义的日子......



var miliseconds = 4423852000
var divided = miliseconds / 1000 / 24 / 3600 // return: 51,20 days (correct)
var duration = moment.duration(miliseconds).days() // return: 20 days (???)

document.querySelector('.days').innerHTML = divided
document.querySelector('.result').innerHTML = duration

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.js"></script>

<pre class="days"></pre>
<pre class="result"></pre>
&#13;
&#13;
&#13;

我正确使用了moment.duration ??

1 个答案:

答案 0 :(得分:2)

您应该使用asDays()代替day()

  

与持续时间的其他getter一样,moment.duration().days()获取日期(0 - 30)。

     

moment.duration().asDays()以天为单位获取持续时间的长度。

var miliseconds = 4423852000
var divided = miliseconds / 1000 / 24 / 3600 
var duration = moment.duration(miliseconds).asDays()

document.querySelector('.days').innerHTML = divided
document.querySelector('.result').innerHTML = duration
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.js"></script>

<pre class="days"></pre>
<pre class="result"></pre>