JavaScript中的DateAdd()方法實現

本文介绍了一种在JavaScript中处理日期的方法,包括日期的增加、格式化以及字符串到日期类型的转换。通过提供的函数,可以方便地进行日期的加减运算,并能将日期格式化为统一的标准格式。

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

function DateAdd (interval,number,date){
	//確保為date類型:
	date=convertToDate(date);
    switch(interval.toLowerCase()){
        case "y": return new Date(date.setFullYear(date.getFullYear()+number));
        case "m": return new Date(date.setMonth(date.getMonth()+number));
        case "d": return new Date(date.setDate(date.getDate()+number));
        case "w": return new Date(date.setDate(date.getDate()+7*number));
        case "h": return new Date(date.setHours(date.getHours()+number));
        case "n": return new Date(date.setMinutes(date.getMinutes()+number));
        case "s": return new Date(date.setSeconds(date.getSeconds()+number));
        case "l": return new Date(date.setMilliseconds(date.getMilliseconds()+number));
    }
};
function dateFormat(date){
	//確保為date類型:
	date=convertToDate(date);
	var defyear = parseInt(date.getFullYear());//當前年
    var defmonth = parseInt(date.getMonth()+1,10); //當前月
    var defday=date.getDate();//當前日
    var result="";
    if(defmonth<10&&defday<10){
	    result=defyear+'-0'+defmonth+'-0'+defday;
    }else if(defmonth<10){
        result=defyear+'-0'+defmonth+'-'+defday;
    }else if(defday<10){
        result=defyear+'-'+defmonth+'-0'+defday;
    }else{
		result=defyear+'-'+defmonth+'-'+defday;
    }
    return result;
};
//javascript中定義的replaceAll()
String.prototype.replaceAll = function(s1,s2){
	return this.replace(new RegExp(s1,"gm"),s2);
};
//將日期類型格式的字符串轉化為日期類型:
function convertToDate(expr){
	if(typeof expr=='string'){
		expr=expr.replaceAll('-','/');//將字符中的-替換為/,原因是IE或其它瀏覽器不支持-符號的Date.parse()
		return new Date(Date.parse(expr));
	}else{
		return expr;
	}
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值