为什么日期格式在日期时间对象中首先更改为月份?

时间:2014-12-12 08:04:18

标签: c# asp.net sql-server datetime web

在Web应用程序中,我传递的是datetime而没有在XML响应中格式化它,只是item.DateDateTime数据类型)放在代码中。

没有格式化。当我运行本地服务器时,它以MM/DD/YYYY格式和实时环境DD/MM/YYYY返回日期。为什么会发生这种变化?

我检查了数据库归类和操作系统设置。区域环境中的实时环境English (Singapore)。但是,将本地服务器更改为English (Singapore)后,仍然无法在本地生成实时环境DateTime格式。

整理:

In Live Environment - Latin1_General_CI_AI
In Local Servers    - SQL_Latin1_General_CP1_CI_AS

可能是什么原因?如何解决这个问题,而不是在XML中进行格式化?

  

更新

正如所怀疑的那样,问题是整理,在实时环境中使用整理创建数据库后在本地重新生成问题。

1 个答案:

答案 0 :(得分:0)

Windows存储每个用户的日期/时间设置。如果IIS作为LocalSystem运行,则您需要更改默认用户的设置:

在regedit中,转到此处并为您想要的区域设置和格式设置适当的值。

HKEY_USERS\.DEFAULT\Control Panel\International

也就是说,在任何给定格式的假设下处理日期和时间类型是一个真正糟糕的想法。

如果您需要特定格式的日期/时间用于显示,互操作或其他任何您应该使用可用的string formats之一来适当地格式化日期时间。