javascript日期加减,js中时间加减

javascript 日期 加减

用Javascript实现(经测试答案正确):

创新互联专注于那曲企业网站建设,成都响应式网站建设公司,电子商务星空体育app最新版本(2024已更新)建设。那曲网站建设公司,为那曲等地区提供建站服务。全流程定制开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

html

head

meta http-equiv="Content-Type" content="text/html; charset=uft-8"

script language="javascript"

function window_onload()

{

var LSTR_Date = "20090115";

//(日期表示只有这一种格式,不支持民国年)

var LSTR_AddDays =45;

var LSTR_DateType = "YYYYMMDD";

alert(AddDate(LSTR_Date,LSTR_AddDays,LSTR_DateType));

}

function AddDate(LISTR_Date,LISTR_AddDays,LISTR_DateType)

{

var LSTR_YY=0;

var LSTR_MM=0;

var LSTR_DD=0;

var LINT_FLAG=0;

//检查日期格式为 "YYYYMMDD" 或

//"MMDDYYYY" 且长度为8码

if((LISTR_DateType!="YYYYMMDD") (LISTR_DateType!="MMDDYYYY") (LISTR_Date.length!=8))

return false;

if(LISTR_DateType=="MMDDYYYY")

LISTR_Date=LISTR_Date.substr(4,4)+LISTR_Date.substr(0,4);

LSTR_YY=parseInt(LISTR_Date.substr(0,4),10);

LSTR_MM=parseInt(LISTR_Date.substr(4,2),10);

LSTR_DD=parseInt(LISTR_Date.substr(6,2),10)+parseInt(LISTR_AddDays,10);

while(LINT_FLAG==0)

{

switch (LSTR_MM)

{

case 2:

if ((LSTR_YY % 4) != 0)

{

if (LSTR_DD 28)

{

LSTR_DD -=28;

LSTR_MM =3;

}

else

{

LINT_FLAG=1;

}

}

else

{

if (((LSTR_YY % 100) == 0) ((LSTR_YY % 400) != 0))

{

if (LSTR_DD 28)

{

LSTR_DD -=28;

LSTR_MM =3;

}

else

{

LINT_FLAG=1;

}

}

else

{

if (LSTR_DD 29)

{

LSTR_DD -=29;

LSTR_MM =3;

}

else

{

LINT_FLAG=1;

}

}

}

break;

case 4:

case 6:

case 9:

case 11:

if (LSTR_DD 30)

{

LSTR_DD -=30;

LSTR_MM +=1;

}

else{LINT_FLAG=1;}

break;

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

if (LSTR_DD 31)

{

LSTR_DD -=31;

LSTR_MM +=1;

}

else

{

LINT_FLAG=1;

}

break;

case 12:

if (LSTR_DD 31)

{

LSTR_DD -=31;

LSTR_MM=1;

LSTR_YY +=1;

}

else

{

LINT_FLAG=1;

}

break;

default:

return;

break;

}

}

if (LSTR_MM10)

{

LSTR_MM="0" +LSTR_MM;

}

if (LSTR_DD10)

{

LSTR_DD="0" +LSTR_DD;

}

if(LISTR_DateType=="MMDDYYYY")

return LSTR_MM+""+LSTR_DD+""+LSTR_YY+"";

else

return LSTR_YY+""+LSTR_MM+""+LSTR_DD+"";

}

/script

/head

body onload="window_onload();"

/body

/html

如何用js进行日期的加减

如题,开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下资料,终于有了如下重大发现,以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:

function addDate(date,days){

var d=new Date(date);

d.setDate(d.getDate()+days);

var m=d.getMonth()+1;

return d.getFullYear()+'-'+m+'-'+d.getDate();

}

其中,date参数是要进行加减的日期,days参数是要加减的天数,如果往前算就传入负数,往后算就传入正数,如果是要进行月份的加减,就调用setMonth()和getMonth()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1。

js中对日期进行加减

var today=new Date(); // 获取今天时间

today.setDate(today.getDate() + 7); // 系统会自动转换

下面是date类提供的三个你可能生成字符串用到的函数:

getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。

getMonth() 从 Date 对象返回月份 (0 ~ 11)。

getFullYear() 从 Date 对象以四位数字返回年份。

怎么让js中date进行加减运算

js中没有如同C#中的AddDays的方法,

所以重写了Date对象的prototype,扩展了增加日期的方法,

代码如下:

Date.prototype.Format = function(fmt)

{

//author:

meizz

var o

=

{

"M+" : this.getMonth() + 1, //月份

"d+" : this.getDate(), //日

"h+" : this.getHours(), //小时

"m+" : this.getMinutes(), //分

"s+" : this.getSeconds(), //秒

"q+" : Math.floor((this.getMonth() + 3) / 3), //季度

"S" : this.getMilliseconds() //毫秒

};

if

(/(y+)/.test(fmt))

fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 -

RegExp.$1.length));

for (var k

in o)

if (new RegExp("(" + k + ")").test(fmt))

fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) :

(("00" + o[k]).substr(("" + o[k]).length)));

return

fmt;

}

Date.prototype.addDays = function(d)

{

this.setDate(this.getDate() + d);

};

Date.prototype.addWeeks = function(w)

{

this.addDays(w * 7);

};

Date.prototype.addMonths= function(m)

{

var d =

this.getDate();

this.setMonth(this.getMonth() + m);

if

(this.getDate() d)

this.setDate(0);

};

Date.prototype.addYears = function(y)

{

var m =

this.getMonth();

this.setFullYear(this.getFullYear() + y);

if (m

this.getMonth())

{

this.setDate(0);

}

};

var now = new Date();

now.addDays(1);//加减日期操作

alert(now.Format("yyyy-MM-dd"));

网页名称:javascript日期加减,js中时间加减
分享URL:/article28/dscoojp.html

成都网站建设公司_创新互联,为您提供网站排名品牌网站建设网站制作网站内链品牌网站设计网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设