js日期时间函数 相加 (转发)

// 增加天 
function AddDays(date,value) 

date.setDate(date.getDate()+value); 


// 增加月 
function AddMonths(date,value) 

date.setMonth(date.getMonth()+value); 


// 增加年 
function AddYears(date,value) 

date.setFullYear(date.getFullYear()+value); 


// 是否为今天 
function IsToday(date) 

return IsDateEquals(date,new Date()); 


// 是否为当月 
function IsThisMonth(date) 

return IsMonthEquals(date,new Date()); 


// 两个日期的年是否相等 
function IsMonthEquals(date1,date2) 

return date1.getMonth()==date2.getMonth()&&date1.getFullYear()==date2.getFullYear(); 


// 判断日期是否相等 
function IsDateEquals(date1,date2) 

return date1.getDate()==date2.getDate()&&IsMonthEquals(date1,date2); 


// 返回某个日期对应的月份的天数 
function GetMonthDayCount(date) 

switch(date.getMonth()+1) 

case 1:case 3:case 5:case 7:case 8:case 10:case 12: 
return 31; 
case 4:case 6:case 9:case 11: 
return 30; 

//feb: 
date=new Date(date); 
var lastd=28; 
date.setDate(29); 
while(date.getMonth()==1) 

lastd++; 
AddDays(date,1); 

return lastd; 


// 返回两位数的年份 
function GetHarfYear(date) 

var v=date.getYear(); 
if(v>9)return v.toString(); 
return "0"+v; 


// 返回月份(修正为两位数) 
function GetFullMonth(date) 

var v=date.getMonth()+1; 
if(v>9)return v.toString(); 
return "0"+v; 


// 返回日 (修正为两位数) 
function GetFullDate(date) 

var v=date.getDate(); 
if(v>9)return v.toString(); 
return "0"+v; 


// 替换字符串 
function Replace(str,from,to) 

return str.split(from).join(to); 


// 格式化日期的表示 
function FormatDate(date,str) 

str=Replace(str,"yyyy",date.getFullYear()); 
str=Replace(str,"MM",GetFullMonth(date)); 
str=Replace(str,"dd",GetFullDate(date)); 
str=Replace(str,"yy",GetHarfYear(date)); 
str=Replace(str,"M",date.getMonth()+1); 
str=Replace(str,"d",date.getDate()); 
return str; 


// 统一日期格式 
function ConvertDate(str) 

str=(str+"").replace(/^\s*/g,"").replace(/\s*$/g,""); // 去除前后的空白 
var d; 
if(/^[0-9]{8}$/.test(str)) // 20040226 -> 2004-02-26 

d=new Date(new Number(str.substr(0,4)),new Number(str.substr(4,2))-1,new Number(str.substr(6,2))); 
if(d.getTime())return d; 

d=new Date(str); 
if(d.getTime())return d; 
d=new Date(Replace(str,"-","/")); 
if(d.getTime())return d; 
return null; 
}  

    1.  

      js时间差函数 
      < LANGUAGE=javascript> 
      alert(addDay(-30,1)); 
      alert(addDay(-30,2)); 
      alert(addDay(-30,3)); 
      alert(addDay(-30,0)); 

      function addDay(days,n) 

      //函数说明:days日期差,n代表如下含义。 
      var my_date_ago=new Date(new Date() - days * 24 * 60 * 60 * 1000 * -1);//days天的日期 
      switch (n) 

      case 1: 
      //返回年 
      return(my_date_ago.getFullYear()); 
      break; 
      case 2: 
      //返回月 
      return(my_date_ago.getMonth()+1); 
      break; 
      case 3: 
      //返回日 
      return(my_date_ago.getDate()); 
      break; 
      default : 
      //返回全部 
      return(my_date_ago.getFullYear() + "-" + (my_date_ago.getMonth()+1) + "-" + my_date_ago.getDate()); 
      break; 

      }

posted @ 2012-08-20 18:17  小晓的快乐  阅读(3123)  评论(0编辑  收藏  举报