Board logo

标题: [ASP] ASP的时间格式化 [打印本页]

作者: shillan    时间: 2006-12-29 02:21     标题: ASP的时间格式化

如将时间2007-1-1 1:01:01变为2007-01-01 01:01:01,需要将日期格式化,可用如下方法:

一、补零:
time.asp:
  1. <%
  2. function fordate(date)
  3.      fordate=year(date)&"-"&right(0&month(date),2)&"-"&right(0&day(date),2)
  4.      fordate=fordate&" "&right(0&hour(date),2)&":"&right(0&minute(date),2)&":"&right(0&second(date),2)
  5. end function
  6. %>
复制代码

使用方法:
在要格式化日期的文件中包含time.asp:<!--#include file="time.asp"-->
输出时间处使用此函数:
如:<%=rs("dateandtime")%>改为<%=fordate(rs("dateandtime"))%>

二、日期格式化函数
  1. function formatdate(strdate,fstr)
  2.   if isdate(strdate) then
  3.     dim i,temp
  4.     temp=replace(fstr,"yyyy",datepart("yyyy",strdate))
  5.     temp=replace(temp,"yy",mid(datepart("yyyy",strdate),3))
  6.     temp=replace(temp,"y",datepart("y",strdate))
  7.     temp=replace(temp,"w",datepart("w",strdate))
  8.     temp=replace(temp,"ww",datepart("ww",strdate))
  9.     temp=replace(temp,"q",datepart("q",strdate))
  10.     temp=replace(temp,"mm",iif(len(datepart("m",strdate))>1,datepart("m",strdate),"0"&datepart("m",strdate)))
  11.     temp=replace(temp,"dd",iif(len(datepart("d",strdate))>1,datepart("d",strdate),"0"&datepart("d",strdate)))
  12.     temp=replace(temp,"hh",iif(len(datepart("h",strdate))>1,datepart("h",strdate),"0"&datepart("h",strdate)))
  13.     temp=replace(temp,"nn",iif(len(datepart("n",strdate))>1,datepart("n",strdate),"0"&datepart("n",strdate)))
  14.     temp=replace(temp,"ss",iif(len(datepart("s",strdate))>1,datepart("s",strdate),"0"&datepart("s",strdate)))
  15.     formatdate=temp
  16.   else
  17.     formatdate=false
  18.   end if
  19. end function
复制代码

  使用说明:
  yyyy 长度为4的年
  yy 长度为2的年
  q 季
  mm 月
  dd 日
  w 星期几
  ww 一年中第几个星期
  hh 时
  nn 分
  ss 秒

  例:formatdate(now(),"yyyymmdd")、formatdate(now(),"现在是yy年第q季,一年中第ww个星期")

三、时间的格式化显示

system.datetime currenttime=new system.datetime();
1.1 取当前年月日时分秒
currenttime=system.datetime.now;
1.2 取当前年
int 年=currenttime.year;
1.3 取当前月
int 月=currenttime.month;
1.4 取当前日
int 日=currenttime.day;
1.5 取当前时
int 时=currenttime.hour;
1.6 取当前分
int 分=currenttime.minute;
1.7 取当前秒
int 秒=currenttime.second;
1.8 取当前毫秒
int 毫秒=currenttime.millisecond;
(变量可用中文)

1.9 取中文日期显示--年月日时分
string stry=currenttime.tostring("f"); //不显示秒

1.10 取中文日期显示_年月
string strym=currenttime.tostring("y");

1.11 取中文日期显示_月日
string strmd=currenttime.tostring("m");

1.12 取中文年月日
string strymd=currenttime.tostring("d");

1.13 取当前时分,格式为:14:24
string strt=currenttime.tostring("t");

1.14 取当前时间,格式为:2003-09-23t14:46:48
string strt=currenttime.tostring("s");

1.15 取当前时间,格式为:2003-09-23 14:48:30z
string strt=currenttime.tostring("u");

1.16 取当前时间,格式为:2003-09-23 14:48
string strt=currenttime.tostring("g");

1.17 取当前时间,格式为:tue, 23 sep 2003 14:52:40 gmt
string strt=currenttime.tostring("r");

1.18获得当前时间 n 天后的日期时间
datetime newday = datetime.now.adddays(100);

2、int32.parse(变量) int32.parse("常量")
字符型转换 转为32位数字型

3、 变量.tostring()
字符型转换 转为字符串
12345.tostring("n"); //生成 12,345.00
12345.tostring("c"); //生成 ¥12,345.00
12345.tostring("e"); //生成 1.234500e+004
12345.tostring("f4"); //生成 12345.0000
12345.tostring("x"); //生成 3039 (16进制)
12345.tostring("p"); //生成 1,234,500.00%
作者: shillan    时间: 2006-12-29 21:20

下面引用由shillan发表的内容:

<%
function fordate(date)
     fordate=year(date)&"-"&right(0&month(date),2)&"-"&right(0&day(date),2)
     fordate=fordate&" "&right(0&hour(date),2)&":"&right(0&minute(date),2)&":"&right(0&second(date),2)
end function
%>

注意保留字~ date函数是取当前日期,可能转换之后的日期都是当前的日期……

function fornum(num)
if num<10 then num="0"&num
fornum=num
end function

function forspo(d_date)
d_year=year(d_date)
d_month=fornum(month(d_month))
d_day=fornum(day(d_date))
m_hour=fornum(hour(d_date))
m_minute=fornum(minute(d_date))
m_second=fornum(second(d_date))

d_d="-"
d_date=d_year&d_d&d_month&d_d&d_day
m_m=":"
d_date=d_date&" "m_hour&m_m&m_minute&m_m&m_second

forspo=d_date
end function

'红色部分是格式化时分秒,如不需要,删除即可。




欢迎光临 逐梦论坛 (http://temp2023.zhumeng.org/) Powered by Discuz! 7.2