-
-
Save remino/1563878 to your computer and use it in GitHub Desktop.
function convertMS(ms) { | |
var d, h, m, s; | |
s = Math.floor(ms / 1000); | |
m = Math.floor(s / 60); | |
s = s % 60; | |
h = Math.floor(m / 60); | |
m = m % 60; | |
d = Math.floor(h / 24); | |
h = h % 24; | |
return { d: d, h: h, m: m, s: s }; | |
}; |
Thank you - nice and clean, just what I needed!
My code for msconvert.js
above is licensed under Unlicense: http://choosealicense.com/licenses/unlicense/
In simpler words, just copy it and go crazy. You don't even need to mention me.
Adding the rest of the ms could be nice. Something like new_ms = Math.floor((ms % 1000) * 1000) / 1000;
and adding it to the return.
When I do programming, most the time I get stuck with basic maths lol. 👍 And you solved my problem with mod, thats what I needed. 😈
including the remaining MS:
function destructMS(milli) {
if (isNaN(milli) || milli < 0) {
return null;
}
var d, h, m, s, ms;
s = Math.floor(milli / 1000);
m = Math.floor(s / 60);
s = s % 60;
h = Math.floor(m / 60);
m = m % 60;
d = Math.floor(h / 24);
h = h % 24;
ms = Math.floor((milli % 1000) * 1000) / 1000;
return { d: d, h: h, m: m, s: s, ms: ms };
}
destructMS(10034)
//=> { d: 0, h: 0, m: 0, s: 10, ms: 34 }
Thanks, I used it - msconvert.js.
var timer;
var compareDate = new Date();
compareDate.setDate(compareDate.getDate() + 7); //just for this demo today + 7 days
timer = setInterval(function() {
timeBetweenDates(compareDate);
}, 1000);
function timeBetweenDates(toDate) {
var dateEntered = toDate;
var now = new Date();
var difference = dateEntered.getTime() - now.getTime();
if (difference <= 0) {
// Timer done
clearInterval(timer);
} else {
var seconds = Math.floor(difference / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
hours %= 24;
minutes %= 60;
seconds %= 60;
$("#days").text(days);
$("#hours").text(hours);
$("#minutes").text(minutes);
$("#seconds").text(seconds);
}
}
var timer;
var compareDate = new Date();
compareDate.setDate(compareDate.getDate() + 7); //just for this demo today + 7 days
timer = setInterval(function() {
timeBetweenDates(compareDate);
}, 1000);
function timeBetweenDates(toDate) {
var dateEntered = toDate;
var now = new Date();
var difference = dateEntered.getTime() - now.getTime();
if (difference <= 0) {
// Timer done
clearInterval(timer);
} else {
var seconds = Math.floor(difference / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
hours %= 24;
minutes %= 60;
seconds %= 60;
$("#days").text(days);
$("#hours").text(hours);
$("#minutes").text(minutes);
$("#seconds").text(seconds);
}
}
(i want this code in typescript,will u please give the code....
I put code above on my little hobby project https://github.com/arsenal131/stopwatch
Thank you!
You may also want to try the DateDiff and DateMeasure objects: https://gist.github.com/1563963