Я использую следующий код для отображения часов отсчета
Минуты и секунды хорошо форматируются, но часы показываются как отрицательное число, например, «-238»
<script language="javascript" type="text/javascript">
var startTime = new Date(2011,01,21,08,55, 0)
$(document).ready(function () {
setTimeout(updateClock, 1000);
});
function updateClock() {
var timeField = $(".timeSince");
var currentTime = new Date();
var difference = currentTime - startTime;
timeField.html(MillisecondsToDuration(difference));
setTimeout(updateClock, 1000);
}
function MillisecondsToDuration(n) {
var hms = "";
var dtm = new Date();
dtm.setTime(n);
var h = "000" + Math.floor(n / 3600000);
var m = "0" + dtm.getMinutes();
var s = "0" + dtm.getSeconds();
hms = h.substr(h.length-4) + " hours, " + m.substr(m.length-2) + " mins, ";
hms += s.substr(s.length-2) + " secs";
return hms;
}
</script>