<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)