js 实现时间向前向后推移

本文分享了如何使用JavaScript来实现对日期进行向前或向后推移的操作,提供了实用的代码示例,旨在帮助开发者更好地处理时间计算问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话不多说直接写放代码

/**
 * 获取当前日期以及本月的第一天
 */


function getBeginTime() {
    var now = new Date();
    now.setDate(1);
    return getFormatDate(now) + " 00:00:00";
}
function getNowDate() {
    var now = new Date();
    return getFormatDate(now) + " 23:59:59";
}
//获取30天以前
function getOneMonthAgoDate() {
    var now = new Date();
    var time = now.getTime()-1000*60*60*24*30
    var lastDate= new Date(time);
    return getFormatDate(lastDate) + " 00:00:00";
}
function getFormatDate(srcdate) {
    var formatDate = "";
    //初始化时间
    var Year = srcdate.getFullYear(); //ie火狐下都可以
    var Month = srcdate.getMonth() + 1;
    formatDate += Year;
    if (Month >= 10) {
        formatDate += "-" + Month;
    } else {
        formatDate += "-0" + Month;
    }

    var Day = srcdate.getDate();
    if (Day >= 10) {
        formatDate += "-" + Day;
    } else {
        formatDate += "-0" + Day;
    }


    /*var Hour = srcdate.getHours();
     if (Hour >= 10) {
     formatDate += " " + Hour;
     } else {
     formatDate += " 0" + Hour;
     }

     var Minute = srcdate.getMinutes();
     if (Minute >= 10) {
     formatDate += ":" + Minute;
     } else {
     formatDate += ":0" + Minute;
     }

     var Second = srcdate.getSeconds();
     if (Second >= 10) {
     formatDate += ":" + Second;
     } else {
     formatDate += ":0" + Second;
     }*/

    return formatDate;
}

function formatDate(srcdate){
	var formatDate = "";
    //初始化时间
    var Year = srcdate.getFullYear(); //ie火狐下都可以
    var Month = srcdate.getMonth() + 1;
    formatDate += Year;
    if (Month >= 10) {
        formatDate += "-" + Month;
    } else {
        formatDate += "-0" + Month;
    }

    var Day = srcdate.getDate();
    if (Day >= 10) {
        formatDate += "-" + Day;
    } else {
        formatDate += "-0" + Day;
    }

     var Hour = srcdate.getHours();
     if (Hour >= 10) {
     formatDate += " " + Hour;
     } else {
     formatDate += " 0" + Hour;
     }

     var Minute = srcdate.getMinutes();
     if (Minute >= 10) {
     formatDate += ":" + Minute;
     } else {
     formatDate += ":0" + Minute;
     }

     var Second = srcdate.getSeconds();
     if (Second >= 10) {
     formatDate += ":" + Second;
     } else {
     formatDate += ":0" + Second;
     }

    return formatDate;
}

//获取上个月第一天
function getlastMonthbeg(){
	var nowdays = new Date();  
	var year = nowdays.getFullYear();  
	var month = nowdays.getMonth();  
	if(month==0)  
	{  
		month=12;  
		year=year-1;  
	}  
	if (month < 10) {  
		month = "0" + month;  
	}  
	var firstDay = year + "-" + month + "-" + "01"+" 00:00:00";//上个月的第一天  
	return firstDay;
}
//获取上个月最后一天
function getlastMonthEnd(){
	var nowdays = new Date();  
	var year = nowdays.getFullYear();  
	var month = nowdays.getMonth();  
	if(month==0)  
	{  
		month=12;  
		year=year-1;  
	}  
	if (month < 10) {  
		month = "0" + month;  
	}  
	var myDate = new Date(year, month, 0);  
	var lastDay = year + "-" + month + "-" + myDate.getDate()+" 23:59:59";//上个月的最后一天  
	return lastDay;
}  
  

//获取上个月第一天
function getlastMonthbeg(){
	var nowdays = new Date();  
	var year = nowdays.getFullYear();  
	var month = nowdays.getMonth();  
	if(month==0)  
	{  
		month=12;  
		year=year-1;  
	}  
	if (month < 10) {  
		month = "0" + month;  
	}  
	var firstDay = year + "-" + month + "-" + "01 00:00:00";//上个月的第一天  
	return firstDay;
}
//获取上个月最后一天
function getlastMonthEnd(){
	var nowdays = new Date();  
	var year = nowdays.getFullYear();  
	var month = nowdays.getMonth();  
	if(month==0)  
	{  
		month=12;  
		year=year-1;  
	}  
	if (month < 10) {  
		month = "0" + month;  
	}
	var myDate = new Date(year, month, 0);  
	var lastDay = year + "-" + month + "-" + myDate.getDate();//上个月的最后一天  
	return lastDay+" 23:59:59";
}  
//获取6个月前
function getSixMonth(){
    //创建现在的时间  
    var data=new Date();  
    //获取年  
    var year=data.getFullYear();  
    //获取月  
    var mon=data.getMonth()+1;  
    var result = "";  
    for(var i=0;i<5;i++){
        mon=mon-1;  
        if(mon<=0){  
            year=year-1;  
            mon=mon+12;  
        }  
        if(mon<10){  
            mon="0"+mon;  
        }  
          
        result=year+"-"+mon;  
    }  
      
    return result+"-"+ "01"+" 00:00:00";  
}

//获取上选中月最后一天
function getselectMonthStart(mon){
	var nowdays = new Date();  
	var year = nowdays.getFullYear();  
	var month = mon;  
	if(month==0){
		month = nowdays.getMonth();  
	}
	if(month==0)  
	{  
		month=12;  
		year=year-1;  
	}  
	if (month < 10) {  
		month = "0" + month;  
	}  
	var lastDay = year + "-" + month + "-01 00:00:00";//上个月的最后一天  
	return lastDay;
}

//获取选中月最后一天
function getselectMonthEnd(mon){
	var nowdays = new Date();  
	var year = nowdays.getFullYear();  
	var month = mon;  
	if(month==0){
		month = nowdays.getMonth();  
	}
	if(month==0)  
	{  
		month=12;  
		year=year-1;  
	}  
	if (month < 10) {  
		month = "0" + month;  
	}  
	var myDate = new Date(year, month, 0);  
	var lastDay = year + "-" + month + "-" + myDate.getDate()+" 23:59:59";//上个月的最后一天  
	return lastDay;
}

//获取当前时间的十分秒
function getNowDateTime(){
	var date="";
	var now   = new Date();
	var hour = now.getHours(); // 获取当前小时数(0-23)
	hour = (hour.toString() < 10 ? '0'+hour.toString() : hour.toString());
	var  minutes = now.getMinutes();     // 获取当前分钟数(0-59)
	minutes = (minutes.toString() < 10 ? '0'+minutes.toString() : minutes.toString());
	var  second = now.getSeconds();     // 获取当前秒数(0-59)
	second = (second.toString() < 10 ? '0'+second.toString() : second.toString());
	date=hour+":"+minutes+":"+second;
	return date;
}
获取当前面年月
function getNowDate(){
	var date="";
	var now   = new Date();
	var monthn = now.getMonth()+1;// 获取完整的年份(4位,1970-????)
	var yearn  = now.getFullYear(); // 获取当前月份(0-11,0代表1月)
	var daten = now.getDate();        // 获取当前日(1-31)
//	var hour = now.getHours(); // 获取当前小时数(0-23)
//	var  minutes = now.getMinutes();     // 获取当前分钟数(0-59)
//	var  second = now.getSeconds();     // 获取当前秒数(0-59)
	date=yearn.toString()+"-"+monthn.toString()+"-"+(daten.toString() < 10 ? '0'+daten.toString() : daten.toString())+" 23:59:59";
	return date;
}

//当前月份向前推六个月
function getSixMonth(){
    var resultDate,year,month,date,hms;
    var currDate = new Date();
    year = currDate.getFullYear();
    month = currDate.getMonth()+1;
    date = "01";
//  hms = currDate.getHours() + ':' + currDate.getMinutes() + ':' + (currDate.getSeconds() < 10 ? '0'+currDate.getSeconds() : currDate.getSeconds());
       hms = " 00:00:00";
   switch(month)
    {
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
        month += 7;
        year--;
        break;
      default:
        month -= 5;
        break;
    }
    month = (month < 10) ? ('0' + month) : month;
    resultDate = year + '-'+month+'-'+date+' ' + hms;
     return resultDate;
}

希望能帮助到大家;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦昼初心

您你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值