在網(wǎng)站制作的過程中,經(jīng)?吹叫枰{(diào)用年、月、日的情況,大家都知道,如果簡單的調(diào)用一下日期時間,可直接用now這個單詞,但網(wǎng)頁的設(shè)計中,特別是新聞一類的,為了美觀,有時會把年月日分開放,并且放大處理,這樣比較好看。下面就asp開發(fā)過程中如何巧妙的調(diào)用年月日講解一下,非常的適用,希望能夠幫助到大家。
廢話少說,直接上函數(shù),年月日的函數(shù)分別為year()、month()、day(),在網(wǎng)站建設(shè)中,數(shù)據(jù)庫必不可少,這樣假如有個字段叫做shijian,然后數(shù)據(jù)庫記錄集為rs,則調(diào)用字段為rs("shijian"),如果方便,再自己編一個小函數(shù),截取年月日日期,不要時間,比如叫做jieshijian,那么表達式出來了,即年為<%=year(jieshijian(rs("shijian")))%>,月為<%=month(jieshijian(rs("shijian")))%>,日為<%=day(jieshijian(rs("shijian")))%>。
這時候調(diào)用出來的年月日是這樣的,比如今天是2018年10月3日,調(diào)出來的年為2018,月為10,日為3,但有時為了好看,月與日不希望是單數(shù),假如是6月8日,不希望顯示成6-8,而且希望弄成06-08,這樣好看,即單數(shù)加零,雙數(shù)不動,如果要實現(xiàn)這個效果,則可以這樣處理:
先弄個函數(shù),其意思就是如果是單數(shù),前面就加零,如果雙數(shù)就不動。
<%
public function zengjia(ddd)
if len(ddd)=1 then
zengjia="0" & ddd
else
zengjia=ddd
end if
end function
%>
下面就調(diào)用這個函數(shù),月與日分別就變成了<%=zengjia(month(jieshijian(rs("shijian"))))%>與<%=zengjia(day(jieshijian(rs("shijian"))))%>了,年不存在什么單與雙的情況。
說到這兒,關(guān)于如何巧妙的調(diào)用方法,基本說得差不多了,但實際的網(wǎng)站設(shè)計工作中,還會有另外一種情況,就是月以英文的方式展現(xiàn),并且希望是大寫,比如AUG,具體可以這樣弄,分三步:
步,套個系統(tǒng)monthname函數(shù),目的是為了顯示英文。
第二步,外圍再加個Ucase,將英文轉(zhuǎn)為大寫。
第三步,加上下面的代碼:
<%
Dim original
original = SetLocale("en-gb")
%>
有了這個,才會有英文,否則就顯示諸如9月這樣的中文。
即后的網(wǎng)站建設(shè)表達式是:<%=UCase(monthname((month(jieshijian(rs("shijian")))),true))%>。
上面說了這么多,下面一個個的總結(jié)一下:
要取年,用<%=year(jieshijian(rs("shijian")))%>
要取月,用<%=month(jieshijian(rs("shijian")))%>
要取日,用<%=day(jieshijian(rs("shijian")))%>
要取月或日,但不要單數(shù),則加上
<%
public function zengjia(ddd)
if len(ddd)=1 then
zengjia="0" & ddd
else
zengjia=ddd
end if
end function
%>
然后月表達式變?yōu)椋?lt;%=zengjia(month(jieshijian(rs("shijian"))))%>
日表達式變?yōu)椋?lt;%=zengjia(day(jieshijian(rs("shijian"))))%>
如果月再想變成大寫的英文,可以先加上下面的代碼:
<%Dim original
original = SetLocale("en-gb")%>
后表達式就變成:<%=UCase(monthname((month(jieshijian(rs("shijian")))),true))%>。