在javascript中将周转换为几个月

时间:2014-02-13 16:14:09

标签: javascript jquery date momentjs

我正在使用此脚本从给定的时间戳开始一个时间间隔。

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天”,然后是“小时分秒”。

0 个答案:

没有答案