南昌央央春天二手房:在ASP中如何取得具体的时间?

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 12:18:02
具体的时间,几点,例如 8:25

我知道now()可以得到日期,但却不能得到时间。

☆关于ASP.Net中的时间处理☆

关于ASP.Net中的时间处理

2001/03/2909:25作者:飞刀 ASP中华网

这里我想谈谈ASP.Net中对时间的处理

在ASP.Net中,M$为我们提供一种名为DateTime的对象,我们用这个对象来取得当前的时间。比如:

DateTimedt=DateTime.Now;

在上面的程序中我们取得了一个名为dt的24制时间对象,如果我们的要得到12制的时间对象,可以使用另外一条语句

DateTimedt=DateTime.Today;

但是不管是Now还是Today,我们取得的时间只是一个形如2001-03-27T00:57:09的时间数字。可能在一般来说这种时间已经足够了(比如,我们仅仅是取得当前的时间),但是在实际生活中我们需要的不仅仅是这一大串数字,我们需要取得具体的秒数,分钟,时刻等等,这时这一大串数字就不全是我们需要的了,在ASP的Time函数中还为我们提供了如Second,Minute,Hour这些对象,但是在ASP.Net中,这个是没有的。我曾经看到有的朋友为了取得具体的分钟,而单独写了一个函数在DateTime.Now所得的字符串中分离出自已想要的时间。在我们不知道DateTime的用法时,这样做也是没有办法的办法。

所幸的是,M$为我们的提供Format方法,使用我们有能力很快的取得我们想要的时间格式。

Format方法的格式是:

publicstringFormat(
stringformat,
IServiceObjectProvidersp
);

format是指我们指定的格式,它的取值有很多,我得列表:)

标准的Format格式

FormatFormat模式
dMM/dd/yyyy如(2001-3-27)
Ddddd,MMMMdd,yyyy如(2001年3月27日)
fdddd,MMMMdd,yyyyHH:mm如(2001年3月27日0:00)
Fdddd,MMMMdd,yyyyHH:mm:ss如(2001年3月27日0:00:00)
gMM/dd/yyyyHH:mm如(2001-3-270:00)
GMM/dd/yyyyHH:mm:ss如(2001-3-270:00:00)
m,MMMMMdd如(三月27)
r,Rddd,ddMMMyyyyHH’:’mm’:’ss’GMT’如(Mon,26Mar200116:00:00GMT)
syyyy-MM-ddHH:mm:ss好像不能使用
tHH:mm如(0:00)
THH:mm:ss如(0:00:00)
uyyyy-MM-ddHH:mm:ss如(2001-03-2616:00:00Z)
Udddd,MMMMdd,yyyyHH:mm:ss如(2001年3月26日16:00:00)
y,YMMMM,yyyy如(2001年3月)

自定义格式列表

FormatPatternDescription
d如:2001-3-27
dd如:27
ddd如:星期一
dddd如:星期一(全名)
M如:三月27
MM如:03
MMM如:三月
MMMM如:三月(全称)
y如:2001年3月
yy如:01
yyyy如:2001
gg如:A.D.
hh,hh*如:12
HH,HH*如:00
m如:三月27
mm,mm*如:00(分钟)
s如:2001-03-27T00:00:00
ss,ss*如:00(秒)
t如:0:00
tt,tt*如:上午

下面是一个简单操作的例子。

publicvoidPage_Load(Objectsrc,EventArgse)
{
DateTimedt=DateTime.Now;
ctime.Text=dt.Format("MM",null).ToString();
}

在ASP里面有取当前时间的涵数now,有取当前日期的涵数date,取当前年月日的涵数year(date),month(date),day(date),唯独没有取当前周的涵数,所以根据去今天是本星期的地几天的涵数weekday(firstdate)),和DateAdd涵数就可编写出取当前周的涵数了(:,而且还考虑到跨年跨月的问题.

代码如下

weeknum=weekDay(DateAdd("d",(-(Day(date))+1),date)) 'the week number of first date of this month
firstdate=DateAdd("d",(-(Day(date))+1),date) 'the first date of this month
ldt_prevmon=dateadd("d",-1,firstdate) 'the last date of prev month
firstdate_lstmon=dateadd("d",(-(Day(ldt_prevmon))+1),ldt_prevmon)'the first date of last

weekcount=0
for dd=1 to day(ldt_prevmon)
if (weekday(dateadd("d",dd,firstdate_lstmon))=1) then
weekcount=weekcount+1
end if
next

if day(date)<=(8-weekday(firstdate)) then
weekordnew=weekcount+1

用time()可以得到时间.