1、首先提供一个日期格式化方式,给Date对象添加格式化方法,以便于日期格式化
Date.prototype.Format = function(fmt) {
var o = {
"M+" : this.getMonth() + 1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth() + 3) / 3), //季度
"S" : this.getMilliseconds()//毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for ( var k in o)
if (new RegExp("(" + k + ")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]): (("00" + o[k]).substr(("" + o[k]).length)));
}
return fmt;
}
2、有时候为了各种目的我们需要在当前日期基础上,取得一个一点时间之前或者之后的一个日期:已下分别以一年、一个月和15天为例
日期减:分别获取一个月以前和15天以前的日期(日期的增加同理)
//定义日期变量
var date=new Date();
var curDay=date.getDate()
var curMon=date.getMonth();
var curYear=date.getFullYear();
//修改日期
var monBefore = new Date(curYear,curMon-1,curDay);//一个月前
var daysBefore = new Date(curYear,curMon,curDay-15);//15天以前
var yearBefore = new Date(curYear-1,curMon,curDay);//一年前
//显示日期
document.writeln(date.Format("yyyy-MM-dd hh:mm:ss.S")+"</br>");
document.writeln(monBefore.Format("yyyy-MM-dd hh:mm:ss.S")+"</br>");
document.writeln(daysBefore.Format("yyyy-MM-dd hh:mm:ss.S")+"</br>");
document.writeln(yearBefore.Format("yyyy-MM-dd hh:mm:ss.S")+"</br>");<span style="font-family: Arial, Helvetica, sans-serif;"></span>
日起后延原理与a)相同,改成+就对了