在網站制作的過程中,經常看到需要調用年、月、日的情況,大家都知道,如果簡單的調用一下日期時間,可直接用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))%>。