关于ASP.Net中的时间处理

在ASP.Net中,M$提供一种名为DateTime的对象,用这个对象来取得当前的时间。比如:  
     
    DateTime dt=DateTime.Now;  
     
    在上面的程序中我们取得了一个名为dt的24制时间对象,如果我们的要得到12制的时间对象,可以使用另外一条语句  
     
    DateTime dt=DateTime.Today;  
     
    但是不管是Now还是Today,我们取得的时间只是一个形如2001-03-27T00:57:09的时间数字。可能在一般来说这种时间已经足够了(比如,我们仅仅是取得当前的时间),但是在实际生活中我们需要的不仅仅是这一大串数字,我们需要取得具体的秒数,分钟,时刻等等,这时这一大串数字就不全是我们需要的了,在ASP的Time函数中还为我们提供了如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 如(2001年3月27日)  
    f dddd, MMMM dd, yyyy HH:mm 如(2001年3月27日 0:00)  
    F dddd, MMMM dd, yyyy HH:mm:ss 如(2001年3月27日 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 如(2001年3月26日 16:00:00)  
    y, Y MMMM, yyyy 如(2001年3月)  
     
    自定义格式列表Format Pattern Description  
    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* 如:上午  
   
    下面是一个简单操作的例子。  
     
    <% @ 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> 

posted on 2006-01-10 18:32  Leetle  阅读(160)  评论(0编辑  收藏  举报

导航