javascript 日期 加减 增加45天

JavaScript013

javascript 日期 加减 增加45天,第1张

具体做法如下(经测试答案正确):

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=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_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>

可以用js里的Date对象来实现:

Date() 返回当日的日期和时间。 1 3

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

getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 1 3

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

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

getYear() 请使用 getFullYear() 方法代替。 1 3

getHours() 返回 Date 对象的小时 (0 ~ 23)。 1 3

getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 1 3

getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 1 3

getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 1 4

getTime() 返回 1970 年 1 月 1 日至今的毫秒数。 1 3

getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 1 3

getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 1 4

getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 1 4

getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。 1 4

getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。 1 4

getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。 1 4

getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。 1 4

getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 1 4

getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。 1 4

parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 1 3

setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。 1 3

setMonth() 设置 Date 对象中月份 (0 ~ 11)。 1 3

setFullYear() 设置 Date 对象中的年份(四位数字)。 1 4

setYear() 请使用 setFullYear() 方法代替。 1 3

setHours() 设置 Date 对象中的小时 (0 ~ 23)。 1 3

setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。 1 3

setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。 1 3

setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。 1 4

setTime() 以毫秒设置 Date 对象。 1 3

setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 1 4

setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 1 4

setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。 1 4

setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 1 4

setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 1 4

setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。 1 4

setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 1 4

toSource() 返回该对象的源代码。 1 -

toString() 把 Date 对象转换为字符串。 1 4

toTimeString() 把 Date 对象的时间部分转换为字符串。 1 4

toDateString() 把 Date 对象的日期部分转换为字符串。 1 4

toGMTString() 请使用 toUTCString() 方法代替。 1 3

toUTCString() 根据世界时,把 Date 对象转换为字符串。 1 4

toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。 1 3

toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 1 3

toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 1 3

UTC() 根据世界时返回 1997 年 1 月 1 日 到指定日期的毫秒数。 1 3

valueOf() 返回 Date 对象的原始值。

用new Date()方法,字符串是2017-9-12 17:34:21或2017/9/12 17:34:21。如:

var str='2017-9-12 17:34:21'

var date=new Date(str)