(转)关于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>


Title

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=305116

Title

erlzj 发表于2005-04-11 20:15:00  IP: 218.3.243.*

测试错了!
CS0117: “System.DateTime”并不包含对“Format”的定义

 

 

Title
welfred 发表于2005-04-11 23:58:00  IP: 210.45.119.*
这个方法其实我没有用过,你查查Format是不是在DateTime下嘛。其实用dt.toString("yyyy年mm年dd日")这样的方法也是可以地。。。。
posted @ 2006-08-11 14:03  阿东hd  阅读(506)  评论(1编辑  收藏  举报