日期:2014-05-16  浏览次数:20319 次

js各种日期处理收集
扩展日期功能

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");
        }
}