在js中如何实现 日期 相加 ????????????急!!!!!!!!!!! 用Date.parse(textfield.value)把日期转换成毫秒数再进行计算 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 // 增加天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;} 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; } } </SCRIPT> setDate 方法请参阅Date 对象的方法 | getDate 方法 | getUTCDate 方法 | setUTCDate 方法应用于:Date 对象要求版本 3设置 Date 对象中用本地时间表示的数字日期。dateObj.setDate(numDate)参数dateObj 必选项。任意 Date 对象。 numDate 必选项。是一个等于数字日期的数值。 说明要设置用全球标准时间 (UTC) 表示的日期值,请使用 setUTCDate 方法。如果 numDate 的值大于 Date 对象中所保存的月份的天数或者是负数。那么日期将被设置为由 numDate 减去所保存月份中天数而得到的日期。例如,如果所保存的日期是 1996 年 1 月 5 日,并且调用了方法 setUTCDate(32),那么日期将被改变为 1996 年 2 月 1 日。负数的处理方法与此相似。示例下面这个例子说明了 setDate 方法的用法。function SetDateDemo(newdate){ var d, s; // 声明变量。 d = new Date(); // 创建 date 对象。 d.setDate(newdate); // 设置 date 为 newdate。 s = "Current setting is "; s += d.toLocaleString(); return(s); // 返回新设的日期。} <script>function DateAdd(interval,number,date){/* *--------------- DateAdd(interval,number,date) ----------------- * DateAdd(interval,number,date) * 功能:实现VBScript的DateAdd功能. * 参数:interval,字符串表达式,表示要添加的时间间隔. * 参数:number,数值表达式,表示要添加的时间间隔的个数. * 参数:date,时间对象. * 返回:新的时间对象. * var now = new Date(); * var newDate = DateAdd("d",5,now); * author:wanghr100(灰豆宝宝.net) * update:2004-5-28 11:46 *--------------- DateAdd(interval,number,date) ----------------- */ switch(interval) { case "y" : { date.setFullYear(date.getFullYear()+number); return date; break; } case "q" : { date.setMonth(date.getMonth()+number*3); return date; break; } case "m" : { date.setMonth(date.getMonth()+number); return date; break; } case "w" : { date.setDate(date.getDate()+number*7); return date; break; } case "d" : { date.setDate(date.getDate()+number); return date; break; } case "h" : { date.setHours(date.getHours()+number); return date; break; } case "m" : { date.setMinutes(date.getMinutes()+number); return date; break; } case "s" : { date.setSeconds(date.getSeconds()+number); return date; break; } default : { date.setDate(d.getDate()+number); return date; break; } }}var now = new Date();//加五天.var newDate = DateAdd("d",5,now);alert(newDate.toLocaleDateString())//加两个月.newDate = DateAdd("m",2,now);alert(newDate.toLocaleDateString())//加一年newDate = DateAdd("y",1,now);alert(newDate.toLocaleDateString())</script> 有没有C#Script? java web 开发连接数据库问题 如何实现前台数据和后台的交互问题 javascript怎么做个倒计时啊?精确到秒 求助:关于pdf打印,弄了一天了都没成,咋办呢 未能解决的IE与firefox兼容问题,高分相送!!! 用javascript实现连接远程服务器上的access数据库 flash如何响应单击事件? 问个读数据的问题 求助 高手这段JS解密。。。 执行sql的bean怎么返回collection? 如何屏蔽弹出式窗口的最大化功能?
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;
}
<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;
}
}
</SCRIPT>
请参阅
Date 对象的方法 | getDate 方法 | getUTCDate 方法 | setUTCDate 方法应用于:Date 对象
要求
版本 3
设置 Date 对象中用本地时间表示的数字日期。dateObj.setDate(numDate)
参数
dateObj
必选项。任意 Date 对象。
numDate
必选项。是一个等于数字日期的数值。
说明
要设置用全球标准时间 (UTC) 表示的日期值,请使用 setUTCDate 方法。如果 numDate 的值大于 Date 对象中所保存的月份的天数或者是负数。那么日期将被设置为由 numDate 减去所保存月份中天数而得到的日期。例如,如果所保存的日期是 1996 年 1 月 5 日,并且调用了方法 setUTCDate(32),那么日期将被改变为 1996 年 2 月 1 日。负数的处理方法与此相似。示例
下面这个例子说明了 setDate 方法的用法。function SetDateDemo(newdate){
var d, s; // 声明变量。
d = new Date(); // 创建 date 对象。
d.setDate(newdate); // 设置 date 为 newdate。
s = "Current setting is ";
s += d.toLocaleString();
return(s); // 返回新设的日期。
}
function DateAdd(interval,number,date)
{
/*
*--------------- DateAdd(interval,number,date) -----------------
* DateAdd(interval,number,date)
* 功能:实现VBScript的DateAdd功能.
* 参数:interval,字符串表达式,表示要添加的时间间隔.
* 参数:number,数值表达式,表示要添加的时间间隔的个数.
* 参数:date,时间对象.
* 返回:新的时间对象.
* var now = new Date();
* var newDate = DateAdd("d",5,now);
* author:wanghr100(灰豆宝宝.net)
* update:2004-5-28 11:46
*--------------- DateAdd(interval,number,date) -----------------
*/
switch(interval)
{
case "y" : {
date.setFullYear(date.getFullYear()+number);
return date;
break;
}
case "q" : {
date.setMonth(date.getMonth()+number*3);
return date;
break;
}
case "m" : {
date.setMonth(date.getMonth()+number);
return date;
break;
}
case "w" : {
date.setDate(date.getDate()+number*7);
return date;
break;
}
case "d" : {
date.setDate(date.getDate()+number);
return date;
break;
}
case "h" : {
date.setHours(date.getHours()+number);
return date;
break;
}
case "m" : {
date.setMinutes(date.getMinutes()+number);
return date;
break;
}
case "s" : {
date.setSeconds(date.getSeconds()+number);
return date;
break;
}
default : {
date.setDate(d.getDate()+number);
return date;
break;
}
}
}var now = new Date();
//加五天.
var newDate = DateAdd("d",5,now);
alert(newDate.toLocaleDateString())
//加两个月.
newDate = DateAdd("m",2,now);
alert(newDate.toLocaleDateString())
//加一年
newDate = DateAdd("y",1,now);
alert(newDate.toLocaleDateString())
</script>