日期型数据,你是否会在C#中格式化?
来源:广州中睿信息技术有限公司
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 2082

C#格式化日期型数据

编程的过程中,通常需要将日期型数据按照一定的格式输出,当然,输出结果肯定是字符串。为此,我们需要使用 System.DateTime 类的 ToString() 方法,并为其指定格式字符串。

MSDN 中,System.Globalization.DateTimeFormatInfo 类的概述里对模式字符串有非常详细的说明,因此,这里我只对常用的一些格式进行说明,首先请看下表:

  d

  月中的某一天

  一位数的日期没有前导零

  dd

  月中的某一天

  一位数的日期有一个前导零

  ddd

  周中某天的缩写名称

  在 AbbreviatedDayNames 中定义

  dddd

  周中某天的完整名称

  在 DayNames 中定义

    

     M

  月份数字

  一位数的月份没有前导零

  MM

  月份数字

  一位数的月份有一个前导零

  MMM

  月份的缩写名称

  在 AbbreviatedMonthNames 中定义

  MMMM

  月份的完整名称

  在 MonthNames 中定义

    

  y

  不包含纪元的年份

  如果不包含纪元的年份小于 10,则显示不具有前导零的年份

  yy

  不包含纪元的年份

  如果不包含纪元的年份小于 10,则显示具有前导零的年份

  yyyy

  包括纪元的四位数的年份

   
  h

  12 小时制的小时

  一位数的小时数没有前导零

  hh

  12 小时制的小时

  一位数的小时数有前导零


     H

  24 小时制的小时

  一位数的小时数没有前导零

  HH

  24 小时制的小时

  一位数的小时数有前导零

    m

  分钟

  一位数的分钟数没有前导零

  mm

  分钟

  一位数的分钟数有一个前导零


  s

  秒

  一位数的秒数没有前导零

  ss

  秒

  一位数的秒数有一个前导零


   为了便于大家的理解,不妨试试下面的程序:

  

   这段程序将输出结果:

       

   这时候,又出现一个问题,如果要输出的文本信息中包含格式字符怎么办?如

   

   将输出:

   

   这并不是我想要的结果,怎么办呢?解决办法  

      

  看,这次运行结果对了:  

   

  可以看出,只需要使用单引号或者双引号将文本信息括起来就好。