在网站制作的过程中,经常看到需要调用年、月、日的情况,大家都知道,如果简单的调用一下日期时间,可直接用now这个单词,但网页的设计中,特别是新闻一类的,为了美观,有时会把年月日分开放,并且放大处理,这样比较好看。下面就asp开发过程中如何巧妙的调用年月日讲解一下,非常的适用,希望能够帮助到大家。
废话少说,直接上函数,年月日的函数分别为year()、month()、day(),在网站建设中,数据库必不可少,这样假如有个字段叫做shijian,然后数据库记录集为rs,则调用字段为rs("shijian"),如果方便,再自己编一个小函数,截取年月日日期,不要时间,比如叫做jieshijian,那么表达式出来了,即年为<%=year(jieshijian(rs("shijian")))%>,月为<%=month(jieshijian(rs("shijian")))%>,日为<%=day(jieshijian(rs("shijian")))%>。
这时候调用出来的年月日是这样的,比如今天是2018年10月3日,调出来的年为2018,月为10,日为3,但有时为了好看,月与日不希望是单数,假如是6月8日,不希望显示成6-8,而且希望弄成06-08,这样好看,即单数加零,双数不动,如果要实现这个效果,则可以这样处理:
先弄个函数,其意思就是如果是单数,前面就加零,如果双数就不动。
<%
public function zengjia(ddd)
if len(ddd)=1 then
zengjia="0" & ddd
else
zengjia=ddd
end if
end function
%>
下面就调用这个函数,月与日分别就变成了<%=zengjia(month(jieshijian(rs("shijian"))))%>与<%=zengjia(day(jieshijian(rs("shijian"))))%>了,年不存在什么单与双的情况。
说到这儿,关于如何巧妙的调用方法,基本说得差不多了,但实际的网站设计工作中,还会有另外一种情况,就是月以英文的方式展现,并且希望是大写,比如AUG,具体可以这样弄,分三步:
步,套个系统monthname函数,目的是为了显示英文。
第二步,外围再加个Ucase,将英文转为大写。
第三步,加上下面的代码:
<%
Dim original
original = SetLocale("en-gb")
%>
有了这个,才会有英文,否则就显示诸如9月这样的中文。
即后的网站建设表达式是:<%=UCase(monthname((month(jieshijian(rs("shijian")))),true))%>。
上面说了这么多,下面一个个的总结一下:
要取年,用<%=year(jieshijian(rs("shijian")))%>
要取月,用<%=month(jieshijian(rs("shijian")))%>
要取日,用<%=day(jieshijian(rs("shijian")))%>
要取月或日,但不要单数,则加上
<%
public function zengjia(ddd)
if len(ddd)=1 then
zengjia="0" & ddd
else
zengjia=ddd
end if
end function
%>
然后月表达式变为:<%=zengjia(month(jieshijian(rs("shijian"))))%>
日表达式变为:<%=zengjia(day(jieshijian(rs("shijian"))))%>
如果月再想变成大写的英文,可以先加上下面的代码:
<%Dim original
original = SetLocale("en-gb")%>
后表达式就变成:<%=UCase(monthname((month(jieshijian(rs("shijian")))),true))%>。