关于ASP.Net中的时间处理

 

     这里我想谈谈ASP.Net中对时间的处理
  
  
ASP.Net中,M$为我们提供一种名为DateTime的对象,我们用这个对象来取得当前的时间。比如:
  
   DateTime dt=DateTime.Now;
  
  
在上面的程序中我们取得了一个名为dt24制时间对象,如果我们的要得到12制的时间对象,可以使用另外一条语句
  
   DateTime dt=DateTime.Today;
  
  
但是不管是Now还是Today,我们取得的时间只是一个形如2001-03-27T00:57:09的时间数字。可能在一般来说这种时间已经足够了(比如,我们仅仅是取得当前的时间),但是在实际生活中我们需要的不仅仅是这一大串数字,我们需要取得具体的秒数,分钟,时刻等等,这时这一大串数字就不全是我们需要的了,ASPTime函数中还为我们提供了如Second,Minute,Hour这些对象,但是在ASP.Net中,这个是没有的。我曾经看到有的朋友为了取得具体的分钟,而单独写了一个函数在DateTime.Now所得的字符串中分离出自已想要的时间。在我们不知道DateTime的用法时,这样做也是没有办法的办法。
  
  
所幸的是,M$为我们的提供Format方法,使用我们有能力很快的取得我们想要的时间格式。
  
   Format
方法的格式是:
  
   public string Format(
   string format,
   IServiceObjectProvider sp
   );
  
  
 format是指我们指定的格式,它的取值有很多,我得列表:)
  
  
标准的Format格式Format Format 模式
   d MM/dd/yyyy
(2001-3-27)
   D dddd, MMMM dd, yyyy
(2001327)
   f dddd, MMMM dd, yyyy HH:mm
如(2001327 0:00
   F dddd, MMMM dd, yyyy HH:mm:ss
(2001327 0:00:00)
   g MM/dd/yyyy HH:mm
(2001-3-27 0:00)
   G MM/dd/yyyy HH:mm:ss
如(2001-3-27 0:00:00
   m, M MMMM dd
如(三月 27
   r, R ddd, dd MMM yyyy HH’:’mm’:’ss ’GMT’
如(Mon, 26 Mar 2001 16:00:00 GMT
   s yyyy-MM-dd HH:mm:ss
好像不能使用
   t HH:mm
如(0:00
   T HH:mm:ss
如(0:00:00
   u yyyy-MM-dd HH:mm:ss
如(2001-03-26 16:00:00Z
   U dddd, MMMM dd, yyyy HH:mm:ss
如(2001326 16:00:00
   y, Y MMMM, yyyy
如(20013月)
  
  
自定义格式列表Format Pattern Description
   d
:2001-3-27
   dd
:27
   ddd
:星期一
   dddd
:星期一(全名)
   M
:三月 27
   MM
:03
   MMM
:三月
   MMMM
:三月(全称)
   y
:20013
   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*
:上午
  
  
  
  
  
 
  
  
下面是一个简单操作的例子。
  
   <% @ Page Language="C#" %>
   <% @ Import Namespace="System.Data" %>
   <Script Language="C#" Runat="Server">
   public void Page_Load(Object src,EventArgs e)
   {
   DateTime dt = DateTime.Now;
   ctime.Text=dt.Format("MM",null).ToString();
   }
   </script>
   <html>
   <head>
   <title></title>
   </head>
   <body>
   <asp:Label id="ctime" runat="server" />
   </body>
   </html>