Date 任务

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 任务)