美文网首页
JavaScript操作Date对象处理日期和时间

JavaScript操作Date对象处理日期和时间

作者: 柏龙 | 来源:发表于2017-04-16 21:50 被阅读0次

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

    function getChIntv(data){
        var str = data.split("-").join(","); // 2017,05,01
        var date = new Date(str);
        var nowDate = new Date();
        var diff = date - nowDate; // 总时间差
        var getDay = Math.floor( diff / (24 * 60 * 60 * 1000) );
        var getHours = Math.floor( diff / (60 * 60 * 1000) ) % 24;
        var getMinutes = Math.floor( diff / (60 * 1000) ) % 60;
        var getSeconds = Math.floor( diff / 1000) % 60;
        return "距离五一还有" + getDay + "天" + getHours + "小时" + getMinutes + "分钟" + getSeconds + "秒";
    }
    var str = getChIntv("2017-05-01");
    console.log(str); 
    

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

    function getChsDate(data){
        var str = data.split("-"); // ["2015", "01", "08"]
        var dateArr = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "二十一", "二十二", "二十三", "二十四", "二十五", "二十六", "二十七", "二十八", "二十九", "三十", "三十一"];
        var year = str[0];
        var month = str[1];
        var day = str[2];
        var getYear = dateArr[ parseInt(year[0]) ] + dateArr[ parseInt(year[1]) ] + dateArr[ parseInt(year[2]) ] + dateArr[ parseInt(year[3]) ];
        var getMonth = dateArr[ parseInt(month * 1 ) ]; 
        var getDay = dateArr[ parseInt(day * 1 ) ];
        return getYear +'年'+getMonth+'月'+getDay+'日';
    }
    var str = getChsDate('2015-01-08');
    console.log(str);  // 二零一五年一月八日
    

    写一个函数,参数为时间对象毫秒数的字符串格式,返回值为字符串。

    • 假设参数为时间对象毫秒数t,根据t的时间分别返回如下字符串: 刚刚( t 距当前时间不到1分钟时间间隔) 3分钟前 (t距当前时间大于等于1分钟,小于1小时) 8小时前 (t 距离当前时间大于等于1小时,小于24小时) 3天前 (t 距离当前时间大于等于24小时,小于30天) 2个月前 (t 距离当前时间大于等于30天小于12个月) 8年前 (t 距离当前时间大于等于12个月)
    function getPastTime(t){
        var pastTime = new Date() - t;
        if( pastTime <  (60 * 1000) ){
            console.log('刚刚');
        }else if(pastTime < (60 * 60 * 1000) ){
            console.log( Math.floor( pastTime / (60 * 1000) ) % 60 + '分钟前');
        }else if( pastTime < (24 * 60 * 60 * 1000) ){
            console.log(Math.floor( pastTime / (60 * 60 * 1000) ) % 24 +'小时前');
        }else if( pastTime < (30 * 24 * 60 * 60 * 1000) ){
            console.log(Math.floor( pastTime / (24 * 60 * 60 * 1000) ) % 30 +'天前');
        }else if( pastTime < (12 * 30 * 24 * 60 * 60 * 1000) ){
    
            console.log(Math.floor( pastTime / (30 * 24 * 60 * 60 * 1000) ) % 12 +'个月前');
        }else{
            console.log(Math.floor( pastTime / (12 * 30 * 24 * 60 * 60 * 1000) ) +'年前');
        }
    }
    getPastTime('1492350564250');
    

    相关文章

      网友评论

          本文标题:JavaScript操作Date对象处理日期和时间

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