后来发现虚拟目录的“属性->ASP.Net->编辑配置...->应用程序"选项卡中的"全球化设置"中的"区域性"中默认是"af-ZA".我把它改为"zh-CN"后,再访问我发布的网站,发现日期格式已经变为"2006/12/27".但是它与服务器上的区域语言选项中明明是2006-12-30这样的格式还是不同的.
请问我该怎么配置服务器才能让短日期格式显示为2006-12-30这样的格式?
在服务器上 :控制面板--〉区域和语言选项--〉区域选项--〉自定义---〉日期---〉日期分隔符 下拉选项 即可选择
在服务器上 :控制面板--〉区域和语言选项--〉区域选项--〉自定义---〉日期---〉日期分隔符 下拉选项 即可选择
=====================
同意!
你不应该依赖服务器上的设置,要养成好的习惯,。
在你的程序李进行格式化
DateTime a = DateTime.Now
a.ToString("yyyy-MM-dd")
服务器上的区域语言选项该不能影响到应用程序中的时间显示格式吧,区域语言选项该只是windows本身的一个全局配置项
iis可以设置区域性,但是web.config没有日期显示格式的配置
显示格式可能只能mydate.tostring("yyyy-MM-dd");
to net_lover(【孟子E章】) :
那如果用户突然说不要yyyy-MM-dd这样的格式,而要yyyy/MM/dd这样的格式,怎么办呢?把所有的a.ToString("yyyy-MM-dd")代码改一遍么?
还有国际化的问题呢?如果你的程序需要适应不同国家/地域的用户习惯,就不能用a.ToString("yyyy-MM-dd")了.
ls:
那既然这样,为什么还要修改服务器设置呢?是什么就是就可以了
http://xxx/blog/yyyy/mm/x.aspx
格式的博客程序,格式是必须固定。
什么格式,看你 的需要。
问题已经解决了。
方法是在页面的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就可以了。
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 格式 选项 服务器 区域 这样 语言 设置 日期 System.Globalizat |
注册
个人空间
