• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

ASP中的日期函数

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 25次 | 进入软件测试论坛讨论

领测软件测试网 <%
@#日期函数包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
%>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网