Reputation: 131
I'm doing a count down with moment.js and duration to return days, hours, minutes and seconds. So, when I use moment.duration with miliseconds, it return a non-sense days...
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>
I'm using moment.duration correctly??
Upvotes: 0
Views: 3759
Reputation: 31502
You should use asDays()
instead of day()
:
As with the other getters for durations,
moment.duration().days()
gets the days (0 - 30).
moment.duration().asDays()
gets the length of the duration in days.
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>
Upvotes: 4