关于ToShortDateString()方法在不同系统中的输出格式问题!急!

望京最帅程序猿 2011-03-09 10:23:54
我们开发环境是windowXp,做的是asp.net Web项目,系统中的短日期是默认的yyyy-M-d.项目开发完成后,发布在一台服务器上,系统是Window server 2008,系统中的短日期是默认的yyyy/M/d.但是我想改成yyyy-M-d。
在控制面板里改了后不起作用。 现系统已测试发布,不想再改程序了。

还有什么好的解决方法吗?
...全文
1077 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
或在注册表中 搜索 “yyyy/” 搜索到的都改为你想要的格式“yyyy-MM-dd”。修改完,一定要重启电脑,要不看不到效果

根据自己的亲身尝试,搜到以下4个位置,仅供参考:
位 置:HKEY_CURRENT_USER\\ControlPanel\\International键值名:sShortDate
位 置:HKEY_USERS\\.DEFAULT\\ControlPanel\\International键值名:sShortDate
位 置:HKEY_USERS\\S-1-5-19\\ControlPanel\\International键值名:sShortDate
位 置:HKEY_USERS\\S-1-5-20\\ControlPanel\\International键值名:sShortDate


  • 打赏
  • 举报
回复
后来找到在那修改就起作用了,现共享一下
在注册表里改了,程序中的默认格式才起作用

19 系统时间格式
位 置:HKEY_CURRENT_USER\\ControlPanel\\International键值名:sTimeFormat
取 值:H:mm:ss、HHmm不等
说 明:在通常情况下,Windows在任务栏中使用“23:12”的时间格式来显示时间, 但是您可以通过修改注册表编辑器来更改此时间格式。
机器人 2011-03-09
  • 打赏
  • 举报
回复
你用控制面板修改format的时候,第一个下拉框不是选语言吗?English (United States)
我的意思还有别的可能支持的语言,也都改下。
zzmsyt 2011-03-09
  • 打赏
  • 举报
回复
不改程序不好办!
  • 打赏
  • 举报
回复
不过最好还是改程序比较稳妥
  • 打赏
  • 举报
回复
IIS可能会去读machine.config配置吧
在web.config里加上配置节
<system.web>
<globalization uiCulture="zh-cn" culture="zh-cn" />
</system.web>
或者
<%@ Page Culture="en-us" UICulture="en-us" %>

Culture与UICulture
段传涛 2011-03-09
  • 打赏
  • 举报
回复
系统是xp 在区域与时间里可以修改。
有个时间显示格式。
我的是window7 没有发给你呈现步骤。
------------
注册表也可以
笨熊熊 2011-03-09
  • 打赏
  • 举报
回复
還是改程序比較好
改控制面板的話 ,問題比較多
因爲說不定改了之後其它地方又出問題了
fanbingyuan 2011-03-09
  • 打赏
  • 举报
回复
将区域语言换成英语试试
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fangxinggood 的回复:]
这跟.net运行的语言环境有关。你把机器上可能的语言环境下的格式都改下。不仅仅是改默认的语言
[/Quote]

请教7楼 可能的语言环境 是指什么,在哪里改。
机器人 2011-03-09
  • 打赏
  • 举报
回复
这跟.net运行的语言环境有关。你把机器上可能的语言环境下的格式都改下。不仅仅是改默认的语言
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bloodish 的回复:]
抱歉,没看清题意"现系统已测试发布,不想再改程序了"
当我没答.
[/Quote]
就系统已经上线了。现处于安装调试阶段。
  • 打赏
  • 举报
回复
重启了 电脑都重启了 还是不行.
另外还发现个奇怪的事情,我在开发环境中windowsxp上,在控制面板中把短日期格式改为yyyy/MM/dd。Debug状态下运行程序,显示的是yyyy/MM/dd。但发布后,通过IIS访问,却还是显示为yyyy-M-d.
vivian_lanlan 2011-03-09
  • 打赏
  • 举报
回复
Response.Write(DateTime.Now.ToString("yyyy-M-d"));
bloodish 2011-03-09
  • 打赏
  • 举报
回复
抱歉,没看清题意"现系统已测试发布,不想再改程序了"
当我没答.
bloodish 2011-03-09
  • 打赏
  • 举报
回复
自己格式化
DateTime.ToString("yyyy-M-d");
宝_爸 2011-03-09
  • 打赏
  • 举报
回复
控制面板改了后,重启下程序试一试 -- iisreset.
  • 打赏
  • 举报
回复
还是没有解决方法 问题依旧。
最后只好改程序了。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧