ASP中的日期函数

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

<%

'日期函数包DataPackage

%>

<script language="javascript">

function IsDateString(Str)

<!--

{

// 校验是否YYYY-MM-DD格式的日期型数据,返回值为True成功,否则返回False

// 如果传递的是空字符串则返回False

// 定义分隔符

var sSplit="-"

var iYearPos=Str.indexOf(sSplit);

if (iYearPos==-1) return false;

var iMonthPos=Str.indexOf(sSplit,iYearPos+1);

if (iMonthPos==-1) return false;

// 分离出年份

sYear=Str.substr(0,iYearPos);

// 分离出月份

sMonth=Str.substr(iYearPos+1,iMonthPos-iYearPos-1);

//月份长度为二

if (sMonth.length!=2) return false;

if (sMonth.substr(0,1)=="0") sMonth=sMonth.substr(1);

// 分离出日期

sDay=Str.substr(iMonthPos+1);

//日长度为二

if (sDay.length!=2) return false;

if (sDay.substr(0,1)=="0") sDay=sDay.substr(1);

// 年份是否数字?

if (isNaN(sYear)) return false;

var iYear=parseInt(sYear);

// 年份是否整数?

if (sYear!=iYear) return false;

// 年份是否在1000-9999之间?

if (iYear<1000 || iYear>9999) return false;

// 月份是否数字?

if (isNaN(sMonth)) return false;

var iMonth=parseInt(sMonth);

// 月份是否整数?

if (sMonth!=iMonth) return false;

// 月份是否在1-12之间?

if (iMonth<1 || iMonth>12) return false;

// 日期是否数字?

if (isNaN(sDay)) return false;

var iDay=parseInt(sDay);

// 日期是否整数?

if (sDay!=iDay) return false;

// 日期是否在1-31之间?

if (iDay<1 || iDay>31) return false;

if (iDay<29) return true;

// 日期数据是否合法的?

switch (iMonth)

{

case 1:

if (iDay>31) return false;

break;

case 2:

if (IsLeapYear(iYear))

{

if (iDay>29) return false;

}

else

{

if (iDay>28) return false;

}

break;

case 3:

if (iDay>31) return false;

break;

case 4:

if (iDay>30) return false;

break;

case 5:

if (iDay>31) return false;

break;

case 6:

if (iDay>30) return false;

break;

case 7:

if (iDay>31) return false;

break;

case 8:

if (iDay>31) return false;

break;

case 9:

if (iDay>30) return false;

break;

case 10:

if (iDay>31) return false;

break;

case 11:

if (iDay>30) return false;

break;

case 12:

if (iDay>31) return false;

}

return true;

}

function IsLeapYear(Y)

{

// 年份是否为闰年

if (Y % 4 !=0) return false;

if (Y % 400 == 0) return true;

if (Y % 100 == 0) return false;

}

-->

</script>

<%

'**********************

'目的:将日期转换成标准日期字符串

'输入:日期

'输出:日期字符串,如:2002-12-22

'**********************

Function getdatestr(ddate)

dim strtmp

getdatestr = DatePart("yyyy",ddate)

strtmp = trim(DatePart("m",ddate))

if len(strtmp)=1 then strtmp="0" & strtmp

getdatestr = getdatestr & "-" & strtmp

strtmp = trim(DatePart("d",ddate))

if len(strtmp)=1 then strtmp="0" & strtmp

getdatestr = getdatestr & "-" & strtmp

End Function

'**********************

'**********************

'目的:将日期时间转换成标准日期时间字符串

'输入:日期时间

'输出:日期时间字符串,如:2002-12-22

'**********************

Function gettimestr(ddate)

dim strtmp

gettimestr = DatePart("yyyy",ddate)

strtmp = trim(DatePart("m",ddate))

if len(strtmp)=1 then strtmp="0" & strtmp

gettimestr = gettimestr & "-" & strtmp

strtmp = trim(DatePart("d",ddate))

if len(strtmp)=1 then strtmp="0" & strtmp

gettimestr = gettimestr & "-" & strtmp

gettimestr = gettimestr & " " & trim(DatePart("h",ddate))

gettimestr = gettimestr & ":" & trim(DatePart("m",ddate))

End Function

'**********************

'**********************

'目的:计算一月的总天数

'输入:年,月

'输出:天数

'**********************

function getmonthdays(myyear,mymonth)

dim thismonthfirday,nextmonthfirday

'取得当前年月的1日日期

thismonthfirday=myyear & "-" & mymonth & "-1"

'取得下个月1日的日期

nextmonthfirday=dateadd("m",1,thismonthfirday)

'取得当前月的天数

getmonthdays=DateDiff("d",thismonthfirday,nextmonthfirday)

end function

'**********************

'**********************

'目的:返回格式化日期

'输入:任何类型参数

'输出:格式化后的日期

'**********************

Function FormatDateEx(D)

dim varTemp

if IsDate(D) then

varTemp="'" & D & "'"

else

varTemp="NULL"

end if

FormatDateEx=varTemp

End Function

'**********************

'DatePackage End

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航