美文网首页
Date 任务

Date 任务

作者: S级食材咩咩羊 | 来源:发表于2017-03-25 00:44 被阅读0次

    1.写一个函数getChIntv,获取从当前时间到指定日期的间隔时间

    function getChIntv (timeStr) 
    {
        var timeEnd = new Date(timeStr).getTime();
        var timeStart = new Date().getTime();
        var offsetTime = timeEnd - timeStart;
        var days = parseInt(offsetTime / (1000 * 60 * 60 * 24));
        var hours = parseInt(offsetTime / (1000 * 60 * 60 ) % 24);
        var minutes = parseInt(offsetTime / (1000 * 60 ) % 60);
        var seconds = parseInt(offsetTime / (1000) % 60);
        return "距除夕还有 "+ days + " 天 " + hours + " 小时 " + minutes + " 分 " + seconds + " 秒 ";
    }
    
    var str = getChIntv("2017-03-25 00:00:00");
    console.log(str);  // 距除夕还有 20 天 15 小时 20 分 10 秒
    

    2.把hh-mm-dd格式数字日期改成中文日期

    function getChsDate (str) 
    {
        var dateArr = str.split('-');
        var yearStr = dateArr[0];  
        var monthStr = dateArr[1]; 
        var dayStr = dateArr[2]; 
    
        var dict = ['零','一','二','三','四','五','六','七','八','九','十','十一','十二','十三','十四','十五','十六','十七','十八','十九',
                            '二十','二十一','二十二','二十三','二十四','二十五','二十六','二十七','二十八','二十九',
                            '三十','三十一'];
    
        var chYearStr = dict[parseInt(yearStr[0])] + dict[parseInt(yearStr[1])] + dict[parseInt(yearStr[2])] + dict[parseInt(yearStr[3])];
        var chMonthStr = dict[parseInt(monthStr)];
        var chDayStr = dict[parseInt(dayStr)];
    
        var result = chYearStr + '年' + chMonthStr + '月' + chDayStr + '日';
        
        return result;
    }
    
    var str = getChsDate('2015-01-08');
    console.log(str);  // 二零一五年一月八日
    

    3.写一个函数,参数为时间对象毫秒数的字符串格式,返回值为字符串。假设参数为时间对象毫秒数t,根据t的时间分别返回如下字符串:

    • 刚刚( t 距当前时间不到1分钟时间间隔)
    • 3分钟前 (t距当前时间大于等于1分钟,小于1小时)
    • 8小时前 (t 距离当前时间大于等于1小时,小于24小时)
    • 3天前 (t 距离当前时间大于等于24小时,小于30天)
    • 2个月前 (t 距离当前时间大于等于30天小于12个月)
    • 8年前 (t 距离当前时间大于等于12个月)
    function friendlyDate(time)
    {
        var timeStart = parseInt(time);
        var timeEnd = new Date().getTime();
        var offsetTime = timeEnd - timeStart;
        var years = offsetTime / (1000 * 60 * 60 * 24 * 31 *12);
        var months = offsetTime / (1000 * 60 * 60 * 24 * 31) % 12;
        var days = offsetTime / (1000 * 60 * 60 * 24) % 31;
        var hours = offsetTime / (1000 * 60 * 60 ) % 24;
        var minutes = offsetTime / (1000 * 60 ) % 60;
    
        if (years >= 1)
        {
            return parseInt(years) + '年前';
        }
        else if (months >= 1) 
        {
            return parseInt(months) + '月前';
        }
        else if (days >= 1) 
        {
            return parseInt(days) + '天前';
        }
        else if (hours >= 1) 
        {
            return parseInt(hours) + '小时前';
        }
        else if (minutes >= 1) 
        {
            return parseInt(months) + '分钟前';
        }
        else
        {
            return '刚刚'
        }
    }
    var str = friendlyDate( '1484286699422' ) //  1分钟前
    var str2 = friendlyDate('1483941245793') //4天前
    console.log(str);
    console.log(str2);
    

    相关文章

      网友评论

          本文标题:Date 任务

          本文链接:https://www.haomeiwen.com/subject/fpeqottx.html