c#程序在中英系统下运行结果不同

[复制链接]
查看11 | 回复4 | 2010-7-28 22:25:40 | 显示全部楼层 |阅读模式
同样的代码,我在中文系统下,星期显示的是“日”,在英文系统下是“SUN”,时间在中文系统下是“19:30”,英文系统是“7:30PM”,我用英文的VS2008和中文的VS2008都试过了,求解

回复

使用道具 举报

千问 | 2010-7-28 22:25:40 | 显示全部楼层
.net 会自动根据当前操作系统的区域性设置来选择对应的地域格式(用户可以在“控制面板”的“区域和语言”中进行具体的设置)。这在大部分情况下是好事,因为只需要简单的 ToString 就可以自动根据环境变化。如果你输出的内容不是为了显示在界面上给用户看,而是需要存储到数据库或者 XML 文件等地方,那么通常你会希望输出格式是固定的,这个时候需要单独指定无关区域性。例如:string timeString = time.ToString(CultureInfo.InvariantCulture);这里加了参数 CultureInfo.InvariantCulture 就是强制使用无区域性设置,保证无论操作系统的设置如何,都使用固定
回复

使用道具 举报

千问 | 2010-7-28 22:25:40 | 显示全部楼层
如果不是这样,才有问题呢,这是系统自带的语言包
回复

使用道具 举报

千问 | 2010-7-28 22:25:40 | 显示全部楼层
也是你不足之处,使用格式化输出时间
回复

使用道具 举报

千问 | 2010-7-28 22:25:40 | 显示全部楼层
这就是.net的强大之处。不过如果需要指定显示格式也是可以的,把DateTime类型的手动转换成String类型。ToString的时候选择一个格式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行