我正在使用此脚本从给定的时间戳开始一个时间间隔。
function startCounter (el, myStartTimestamp) {
var startTimestamp = parseInt(myStartTimestamp);
setInterval(function() {
startTimestamp++;
var timeStampMoment = moment.unix(startTimestamp);
var
years = timeStampMoment.get('years'),
months = timeStampMoment.get('month'),
weeks = timeStampMoment.get('week'),
days = timeStampMoment.get('day'),
hours = timeStampMoment.get('hour'),
minutes = timeStampMoment.get('minute'),
seconds = timeStampMoment.get('second'),
arr = [];
if (years > 0) {
arr.push(years == 1 ? '1 years ' : years + ' years');
}
if (months > 0) {
arr.push(months == 1 ? '1 month ' : months + ' months');
}
if (weeks > 0) {
arr.push(weeks == 1 ? '1 week ' : weeks + ' weeks');
}
if (days > 0) {
arr.push(days == 1 ? '1 day ' : days + ' days');
}
if (hours > 0) {
arr.push(hours == 1 ? '1 hr ' : hours + ' hrs');
}
if (minutes > 0) {
arr.push(minutes > 1 ? minutes + ' mins' : minutes + ' min');
}
if (seconds > 0) {
arr.push(seconds > 1 ? seconds + ' secs' : seconds + ' sec');
}
el.html(arr.join(' '));
}, 1000);
}
现在我想要包括数月和数年。但是我该怎么做呢,因为每月的总天数会有所不同?
我已经用moment.js解决方案更新了这个问题,但它不太准确。
此时间戳1390896484产生此结果2014年5周2天9小时10分46秒(添加几秒)。我错过了什么?
时间戳等于01/28/14 @ UTC时间上午8:08:04所以我希望输出“2周3天”,然后是“小时分秒”。