javascript 日期 加减 增加45天
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 日期 加减 增加45天相关的知识,希望对你有一定的参考价值。
javascript 给一个日期增加45天,,,我搜索了半天怎么全都是不正确的代码呢,有做dateadd的,可是不正确,,,不准确 还能出2月30日 谁有准确的代码啊,,求啊!!!
参考技术A 具体做法如下(经测试答案正确):<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;
elseLINT_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_MM<10)
LSTR_MM="0" +LSTR_MM;
if (LSTR_DD<10)
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>本回答被提问者采纳
以上是关于javascript 日期 加减 增加45天的主要内容,如果未能解决你的问题,请参考以下文章