再现理想 发表于 2015-1-16 22:09:25

ASP教程之ASP中的日期函数

我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。函数|日期<%
日期函数包DataPackage
%>
<scriptlanguage="javascript">
functionIsDateString(Str)
<!--
{
//校验是不是YYYY-MM-DD格局的日期型数据,前往值为True乐成,不然前往False
//假如传送的是空字符串则前往False
//界说分开符
varsSplit="-"

variYearPos=Str.indexOf(sSplit);
if(iYearPos==-1)returnfalse;

variMonthPos=Str.indexOf(sSplit,iYearPos+1);
if(iMonthPos==-1)returnfalse;

//分别出年份
sYear=Str.substr(0,iYearPos);
//分别出月份
sMonth=Str.substr(iYearPos+1,iMonthPos-iYearPos-1);
//月份长度为二
if(sMonth.length!=2)returnfalse;
if(sMonth.substr(0,1)=="0")sMonth=sMonth.substr(1);
//分别出日期
sDay=Str.substr(iMonthPos+1);
//日长度为二
if(sDay.length!=2)returnfalse;
if(sDay.substr(0,1)=="0")sDay=sDay.substr(1);


//年份是不是数字?
if(isNaN(sYear))returnfalse;
variYear=parseInt(sYear);
//年份是不是整数?
if(sYear!=iYear)returnfalse;
//年份是不是在1000-9999之间?
if(iYear<1000||iYear>9999)returnfalse;

//月份是不是数字?
if(isNaN(sMonth))returnfalse;
variMonth=parseInt(sMonth);
//月份是不是整数?
if(sMonth!=iMonth)returnfalse;
//月份是不是在1-12之间?
if(iMonth<1||iMonth>12)returnfalse;

//日期是不是数字?
if(isNaN(sDay))returnfalse;
variDay=parseInt(sDay);
//日期是不是整数?
if(sDay!=iDay)returnfalse;
//日期是不是在1-31之间?
if(iDay<1||iDay>31)returnfalse;

if(iDay<29)returntrue;

//日期数据是不是正当的?
switch(iMonth)
{
case1:
if(iDay>31)returnfalse;
break;
case2:
if(IsLeapYear(iYear))
{
if(iDay>29)returnfalse;
}
else
{
if(iDay>28)returnfalse;
}
break;
case3:
if(iDay>31)returnfalse;
break;
case4:
if(iDay>30)returnfalse;
break;
case5:
if(iDay>31)returnfalse;
break;
case6:
if(iDay>30)returnfalse;
break;
case7:
if(iDay>31)returnfalse;
break;
case8:
if(iDay>31)returnfalse;
break;
case9:
if(iDay>30)returnfalse;
break;
case10:
if(iDay>31)returnfalse;
break;
case11:
if(iDay>30)returnfalse;
break;
case12:
if(iDay>31)returnfalse;
}

returntrue;

}


functionIsLeapYear(Y)
{
//年份是不是为闰年

if(Y%4!=0)returnfalse;
if(Y%400==0)returntrue;
if(Y%100==0)returnfalse;
}


-->
</script>


<%
**********************
目标:将日期转换成尺度日期字符串
输出:日期
输入:日期字符串,如:2002-12-22
**********************
Functiongetdatestr(ddate)
dimstrtmp
getdatestr=DatePart("yyyy",ddate)
strtmp=trim(DatePart("m",ddate))
iflen(strtmp)=1thenstrtmp="0"&strtmp
getdatestr=getdatestr&"-"&strtmp
strtmp=trim(DatePart("d",ddate))
iflen(strtmp)=1thenstrtmp="0"&strtmp
getdatestr=getdatestr&"-"&strtmp
EndFunction
**********************


**********************
目标:将日期工夫转换成尺度日期工夫字符串
输出:日期工夫
输入:日期工夫字符串,如:2002-12-22
**********************
Functiongettimestr(ddate)
dimstrtmp
gettimestr=DatePart("yyyy",ddate)
strtmp=trim(DatePart("m",ddate))
iflen(strtmp)=1thenstrtmp="0"&strtmp
gettimestr=gettimestr&"-"&strtmp
strtmp=trim(DatePart("d",ddate))
iflen(strtmp)=1thenstrtmp="0"&strtmp
gettimestr=gettimestr&"-"&strtmp
gettimestr=gettimestr&""&trim(DatePart("h",ddate))
gettimestr=gettimestr&":"&trim(DatePart("m",ddate))
EndFunction
**********************


**********************
目标:盘算一月的总天数
输出:年,月
输入:天数
**********************
functiongetmonthdays(myyear,mymonth)
dimthismonthfirday,nextmonthfirday
获得以后年代的1日日期
thismonthfirday=myyear&"-"&mymonth&"-1"
获得下个月1日的日期
nextmonthfirday=dateadd("m",1,thismonthfirday)
获得以后月的天数
getmonthdays=DateDiff("d",thismonthfirday,nextmonthfirday)
endfunction
**********************


**********************
目标:前往格局化日期
输出:任何范例参数
输入:格局化后的日期
**********************
FunctionFormatDateEx(D)


dimvarTemp

ifIsDate(D)then
varTemp=""&D&""
else
varTemp="NULL"
endif

FormatDateEx=varTemp


EndFunction
**********************


DatePackageEnd
%>asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。

冷月葬花魂 发表于 2015-1-18 21:09:18

那么,ASP.Net有哪些改进呢?

莫相离 发表于 2015-1-25 13:03:40

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

小魔女 发表于 2015-2-2 22:13:11

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

海妖 发表于 2015-2-8 12:29:42

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

精灵巫婆 发表于 2015-2-25 14:38:21

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

只想知道 发表于 2015-3-7 22:28:49

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

小女巫 发表于 2015-3-7 22:28:50

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

仓酷云 发表于 2015-3-15 15:54:07

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

再现理想 发表于 2015-3-22 02:47:43

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
页: [1]
查看完整版本: ASP教程之ASP中的日期函数