天天看点

.net日期时间格式化处理

一、日期和时间的格式化处理:

1.绑定时格式化日期方法: 

 <asp:BoundColumn datafield="time" dataformatstring="{0:yyyy-MM-dd}">

 </asp:BoundColumn>

2.数据控件如DataGrid/DataList等的件格式化日期方法:

 e.Item.Cell[0].Text = Convert.ToDateTime(e.Item.Cell[0].Text).ToShortDateString();

3.用String类转换日期显示格式:

 String.Format("yyyy-MM-dd",yourDateTime);   

4.用Convert方法转换日期显示格式:

 Convert.ToDateTime("2005-8-23").ToString ("yyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo); //支持繁体数据库

5.直接用ToString方法转换日期显示格式:

DateTime.Now.ToString("yyyyMMddhhmmss");

DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")

6.只显示年月

 DataBinder.eval_r(Container.DataItem,"starttime","{0:yyyy-M}")

7.显示时间所有部分,包括:年月日时分秒

<asp:BoundColumn DataField="收款时间" HeaderText="收款时间"  

        DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}">

</asp:BoundColumn>

二、遇到的问题:

(1)Asp.net2.0中,GridView日期列使用DataFormatString="{0:yyyy-MM-dd}",输出没有任何变化,还是默认的“2008-6-19”这样的形式。

    解决办法:同时设置属性:HtmlEncode="False"

(2)设置格式为DateTime.Now.ToString("yyyy/MM/dd") ,输出的结果是依然是2008-6-19这样的形式。

    原因:在某些语言(如 C#)中,“\”字符在与 ToString 方法共用时,它前面必须有转义符。

    解决办法:

    ①启用 DateTime.ToString() 的第二个参数,忽略系统时间格式设置:

        DateTime.Now.ToString("yyyy/MM/dd",

            System.Globalization.DateTimeFormatInfo.InvariantInfo);

    ②使用"yyyy'/'MM'/'dd",防止 /M and /d 字符转义;

    ③使用DateTime.Now.ToString(@"yyyy\/MM\/dd");,同样是为了取消转义字符。

三.显示的日期类型为:yyyy-MM-dd(2011-09-12)

System.DateTime.Now.ToString( "yyyy-MM-dd ");

DateTime   dt   =   DateTime.Now; 

string   str   =   " "; 

str   =   DateTime.Parse(dt.ToString()).ToString( "yyyy-MM-dd "); 

label1.Text   =   str;

四.现在格式是比如:2006-09-01 

但我要实现的是读出来是:2006-9-1,去掉“0”,系统怎么设置?

System.DateTime.Now.ToString( "yyyy-M-d ");

五.DataFormatString   =   "{0:d} " 

显示结果:2004-3-29 

DataFormatString   =   "{0:D} " 

显示结果:2004年3月29日

六.我想读取当天的日期,比如这样显示:2010年5月24日

我用的是这个方法DateTime.Today().ToLongDateString()

在我本地电脑上显示是2010年5月24日

可是程序放到服务器(server2003)上后,首页显示的日期格式:星期二,24,五月,2011

这是为什么?

DateTime.Today().ToString("yyyy年MM月dd日");

七.

当前:站长学院 > 网站开发 > .Net > GridView列数字、货币和日期的显示格式

GridView列数字、货币和日期的显示格式

2009-8-3 8:53:00

形式 语法 结果 注释 

数字 {0:N2} 12.36   

数字 {0:N0} 13   

货币 {0:c2} $12.36   

货币 {0:c4} $12.3656   

货币 "¥{0:N2}" ¥12.36   

科学计数法 {0:E3} 1.23E+001   

百分数 {0:P} 12.25% P and p present the same. 

日期 {0:D} 2006年11月25日   

日期 {0:d} 2006-11-25   

日期 {0:f} 2006年11月25日 10:30   

日期 {0:F} 2006年11月25日 10:30:00   

日期 {0:s} 2006-11-26 10:30:00   

时间 {0:T} 10:30:00