首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 程序开发 > C/C#/C++ > 正文
  • c#处理时间格式的方法
      2007-4-18  来源:CSDN  编辑:Jsbulo  热度:

      在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>