扩展日期功能
1.格式化日期处理
//yyyy-MM-dd hh:mm:ss (日期格式
Date.prototype.format =function(format)
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear()+"").substr(4- RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
//字符串转日期格式,strDate要转为日期格式的字符串
Date.prototype.getDate =function(strDate) {
var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/,
function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');
return date;
}
var d =new Date().format('yyyy-MM-dd'); //对当前日期处理格式化
var tempdate = '2013-04-03 12:34:33'; //对字符串格式日期处理,需要转换为反斜杠
//第一行里的replace(/-/g,"/")一定要有,不然ie7用Date().parse("2011-09-10 01:40:14")是返回NaN
var tempdateObj = new Date(tempdate.replace(/-/g,'/')); //需要转换为反斜杠“/-/g”表示全匹配
js 得到当前日期的前一天日期
var date =new Date();
var beforeDate = date.getTime() - 24 * 60 * 60 * 1000;//前一天日期
JavaScript中日期的比较
1.在JavaScript中比较两个Date日期对象的大小时,可以直接使用运行符进行
function compareDate(strDate1,strDate2)
{
var date1 = new Date(strDate1.replace(/\-/g, "\/"));
var date2 = new Date(strDate2.replace(/\-/g, "\/"));
return date1-date2; //返回的是毫秒数
//date1 > date2 返回的是正毫秒数
//date1 < date2 返回的是负毫秒数
//date1 = date2 返回的是0毫秒数
}
///** 比较 eg:**/
function doCompare(){
var strDate1 = document.getElementById("strDate1").value;
var strDate2 = document.getElementById("strDate2").value;
var result = compareDate(strDate1,strDate2);
if ( result>0 ) {
alert("strDate1晚于strDate2");
}else if( result<0 ){
alert("strDate1早于strDate2");
}else if ( result==0 ){
alert("strDate1等于strDate2");
}
}
另一种方法日期比较是通过转换毫秒来比较的
eg:
var date = new Date();
//date.getTime();返回 1970 年 1 月 1 日至今的毫秒数。
long time = date.getTime();
js 日期合法验证
//验证是否合法日期
function CheckDate(strDate){
if(strDate.length>0){
//匹配格式 yyyy-MM-dd hh:mm:ss || yyyy/MM/dd hh:mm:ss
var reg=/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
if(!reg.test(strDate)){
return false;
}else{
return true;
}
}
}
可参考其他文章
下面是对日期的各种处理可参考哦
http://www.douban.com/note/239144534/