在你的程序李进行格式化
DateTime a = DateTime.Now
a.ToString("yyyy-MM-dd")
方法是在页面的Page_Load()中,加入以下代码:
System.Globalization.CultureInfo myCI = new System.Globalization.CultureInfo("zh-CN", true);
myCI.DateTimeFormat.ShortDatePattern = "yyyy-M-d";
System.Threading.Thread.CurrentThread.CurrentCulture = myCI;
问题的原因是,CultureInfo.CurrentCulture 的UseUserOverride属性默认是false,表示要使用.Net的默认格式(yyyy/M/d),而不是用服务器上的区域选项中的设置(yyyy-M-d)。
所以只要用代码
System.Globalization.CultureInfo myCI = new System.Globalization.CultureInfo("zh-CN", true);
System.Threading.Thread.CurrentThread.CurrentCulture = myCI;
将UseUserOverride属性设为true就可以了。
不过在实践中不知为什么居然不好用。所以逼得我只好手动设置格式,代码也就变成了:
System.Globalization.CultureInfo myCI = new System.Globalization.CultureInfo("zh-CN", true);
myCI.DateTimeFormat.ShortDatePattern = "yyyy-M-d";
System.Threading.Thread.CurrentThread.CurrentCulture = myCI;
http://community.youkuaiyun.com/Expert/topic/5265/5265834.xml?temp=7.137477E-03
本文介绍了如何在.NET环境中解决DateTime格式化的问题,特别是在Page_Load()方法中遇到的区域设置问题。通过修改当前线程的文化信息,可以实现DateTime的正确格式化。

被折叠的 条评论
为什么被折叠?



