或许会用到的一些js函数整理

1.时间戳转几(月、周、天。。)前

function handleDate(dateTimeStamp) {
        var dateTimeStamp=dateTimeStamp*1000;
        var minute = 1000 * 60;
        var hour = minute * 60;
        var day = hour * 24;
        var halfmonth = day*15;
        var month = day*30;
        var now = new Date().getTime();
        var diffValue = now - dateTimeStamp;
        if(diffValue<0){return}
        var monthC = diffValue/month;
        var weekC = diffValue/(7*day);
        var dayC = diffValue/day;
        var hourC = diffValue/hour;
        var minC = diffValue/minute;
        var result = ''
        if(monthC>=1){
            result = ''+parseInt(monthC)+"月前";
        }else if(weekC>=1){
            result = ''+parseInt(weekC)+"周前";
        }else if(dayC>=1){
            result = ''+parseInt(dayC)+"天前";
        }else if(hourC>=1){
            result = ''+parseInt(hourC)+"小时前";
        }else if(minC>=1){
            result = ''+parseInt(minC)+"分钟前";
        }else{
            result="刚刚"
        }
        return result;
    }

2.个位数前面自动补零(一般显示时间用)

function p(s) {
        return s < 10 ? '0' + s: s;
}

3.小数转百分数(曾用于动态渲染进度条长度)

function toPercent(point){
        var str=Number(point*100).toFixed(1);
        str+="%";
        return str;
}

4.时间戳转年月日(注意单位是秒!还是毫秒!)

function timestampToTime(timestamp) {
    var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    var D = date.getDate();
    return Y + M + D;
}

5.获取本周对应的7个日期

//获取本周日期
function getDates() {
    var new_Date = new Date()
    var timesStamp = new_Date.getTime();
    var currenDay = new_Date.getDay();
    var dates = [];
    for(var i = 0; i < 7; i++) {
        dates.push(new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7)).toLocaleDateString().replace(/[年月]/g, '-').replace(/[日上下午]/g, ''));
    }
    var days = []
    for(let i=0;i<dates.length;i++){
      let day = dates[i].split('/')
      dayN = day[2]<10 ? '0' + day[2]: day[2];
      days.push(dayN)
    }
    return days
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值