.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  

 

转载地址:http://www.0431cn.com/ygtd_wz_nr_2077.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值