js常用时间函数封装


将毫秒时间戳格式化为年月日格式

/*将毫秒时间戳格式化为年月日格式*/
export function formatDateToHalfString(timeStamp){
    let date = new Date(timeStamp)
    let year = date.getFullYear()
    let month = date.getMonth() + 1
    let day = date.getDate()
    return year + '-' + month + '-' + day
}

将毫秒时间戳格式化为月日格式

/*将毫秒时间戳格式化为月日格式*/
export function formatDateToHalf2String(timeStamp){
    let date = new Date(timeStamp)
    let month = date.getMonth() + 1
    let day = date.getDate()
    return month + '-' + day
}

获取当前时间戳

/*获取当前时间戳*/
export function getNowTime(){
    var timestamp = (new Date()).getTime();
    return timestamp
}

获取昨天同一时间时间戳

/*获取昨天同一时间时间戳*/
export function getYesterdayTime(){
    var timestamp = (new Date()).getTime();
    return timestamp-24*60*60*1000
}

获取今天0时时间戳

/*获取今天0时时间戳*/
export function getTodayStartTime(){
    var now_date = new Date();//获取Date对象
    now_date.setHours(0);//设置小时
    now_date.setMinutes(0);//设置分钟
    now_date.setSeconds(0);//设置秒
    now_date.setMilliseconds(0);//设置毫妙
    var timestamp = now_date.getTime();//获取毫秒时间戳
    return timestamp
}

获取昨天0时时间戳

/*获取昨天0时时间戳*/
export function getYesterdayStartTime(){
    var now_date = new Date();//获取Date对象
    now_date.setHours(0);//设置小时
    now_date.setMinutes(0);//设置分钟
    now_date.setSeconds(0);//设置秒
    now_date.setMilliseconds(0);//设置毫妙
    var timestamp = now_date.getTime();//获取毫秒时间戳
    return timestamp-24*60*60*1000
}

获取当前日期前7天的日期

/*获取当前日期前7天的日期*/
export function getDates(){
    var myDate = new Date(); //获取今天日期
    myDate.setDate(myDate.getDate() - 7);
    var dateArray = [];
    var dateTemp;
    var flag = 1;
    for (var i = 0; i < 7; i++) {
        dateTemp = (myDate.getMonth()+1)+"."+myDate.getDate();
        dateArray.push(dateTemp);
        myDate.setDate(myDate.getDate() + flag);
    }
    return dateArray
}

获取本月开始结束时间戳

/*获取本月开始结束时间戳*/
export function getThisMonth(){
    var date=new Date;
    var year=date.getFullYear();
    var month=date.getMonth()+1;
    const result = {begin: 0, end: 0};
    const target = new Date();
    target.setFullYear(year);
    target.setMonth(month - 1);
    target.setDate(1);
    target.setHours(0);
    target.setMinutes(0);
    target.setSeconds(0);
    target.setMilliseconds(0);
    result.begin = target.getTime();
    const now = new Date();
    if (target.getFullYear() + target.getMonth() >= now.getFullYear() + now.getMonth()) {
        result.end = now.getTime();
        console.log(result);
        console.log(new Date(result.begin), new Date(result.end));
        return result;
    }
    target.setMonth(month);//当月的下个月1日 0时0分0秒
    target.setSeconds(-1);//前1秒,即昨天最后1秒钟,也就是上个月的最后一秒钟
    result.end = target.getTime();
    console.log(result);
    console.log(new Date(result.begin), new Date(result.end));
    return result;
}

获取今日开始结束时间戳

/*获取今日开始结束时间戳*/
export function getToday(){
    var d=new Date;
    var year=d.getFullYear();
    var month=d.getMonth()+1;
    var date=d.getDate();
    const result = {begin: 0, end: 0};
    const target = new Date();
    target.setFullYear(year);
    target.setMonth(month - 1);
    target.setDate(date);
    target.setHours(0);
    target.setMinutes(0);
    target.setSeconds(0);
    target.setMilliseconds(0);
    result.begin = target.getTime();
    const targetDateCount = target.getFullYear() + target.getMonth() + target.getDate();
    const now = new Date();
    const nowDateCount = now.getFullYear() + now.getMonth() + now.getDate();
    if (targetDateCount >= nowDateCount) {
        result.end = now.getTime();
        console.log(0, result);
        console.log(new Date(result.begin), new Date(result.end));
        return result;
    }
    target.setDate(target.getDate() + 1);//次日0时0分0秒
    target.setSeconds(-1);//前1秒,即当日最后1秒钟
    result.end = target.getTime();
    console.log(1, result);
    console.log(new Date(result.begin), new Date(result.end));
    return result;
}

获取任意一天的开始时间(time为要查询那天的某个时间戳)

/* 获取任意一天的开始时间(time为要查询那天的某个时间戳) */
export function getStartTime(time) {
    const nowTimeDate = new Date(time)
    return nowTimeDate.setHours(0, 0, 0, 0)
}

获取任意一天的结束时间(time为要查询那天的某个时间戳)

/* 获取任意一天的结束时间(time为要查询那天的某个时间戳) */
export function getEndTime(time) {
    const nowTimeDate = new Date(time)
    return nowTimeDate.setHours(23, 59, 59, 999)
}

获取本周开始结束时间戳

/*获取本周开始结束时间戳*/
export function getThisWeek(){
    const d1 = new Date(),d2 = new Date();
    let t1, t2 = 0;
    t1 = new Date(d1.setDate(d1.getDate() - d1.getDay())).setHours(0, 0, 0, 0);
    t2 = new Date(d2.setDate(d2.getDate()+6 - d2.getDay())).setHours(0, 0, 0, 0);
    let result = {}
    result.begin = t1
    result.end = t2
    return result
}

获取今年开始结束时间戳

/*获取今年开始结束时间戳*/
export function getThisYear(){
    const d = new Date();
    const d1 = new Date(d.setFullYear(d.getFullYear()));
    let t = new Date(new Date(d1.setDate(1)).setHours(0, 0, 0, 0));
    let t1, t2 = 0;
    t1 = t.setMonth(0);
    const d2 = new Date(t1);
    t2 = new Date(d2.setFullYear(d2.getFullYear() + 1)).setMilliseconds(-1);
    let result = {}
    result.begin = t1
    result.end = t2
    return result
}

秒数转换格式

/*秒数转换格式*/
export function exchangeSecond(value){
    value = value/1000
    var theTime = parseInt(value);// 需要转换的时间秒 
    var theTime1 = 0;// 分 
    var theTime2 = 0;// 小时 
    var theTime3 = 0;// 天
    if(theTime > 60) { 
        theTime1 = parseInt(theTime/60); 
        theTime = parseInt(theTime%60); 
        if(theTime1 > 60) { 
            theTime2 = parseInt(theTime1/60); 
            theTime1 = parseInt(theTime1%60); 
            if(theTime2 > 24){
                //大于24小时
                theTime3 = parseInt(theTime2/24);
                theTime2 = parseInt(theTime2%24);
            }
        } 
    } 
    var result = '';
    if(theTime > 0){
        result = ""+parseInt(theTime)+"秒";
    }
    if(theTime1 > 0) { 
        result = ""+parseInt(theTime1)+"分"+result; 
    } 
    if(theTime2 > 0) { 
        result = ""+parseInt(theTime2)+"小时"+result; 
    } 
    if(theTime3 > 0) { 
        result = ""+parseInt(theTime3)+"天"+result; 
    }
    return result; 
}

文章作者: 庄荣健
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 庄荣健 !
  目录