// 增加天
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
;
}
01.
js时间差函数
<SCRIPT 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
;
}
}