我有一个我在英国开发的应用程序。我现在已将其部署到美国服务器,日期不正确。我有一个日期时间选择器,我将格式设置为dd / mm / yyyy,当我选择日期时间选择器时,我注意到当我检查元素时,日期实际上是12/10/2013。
当我将它存储到数据库时,这将被转换为2013-12-10,然后当我从数据库中检索它时,它实际上是2013年12月10日。
此外,当我在代码中调用DateTime.Now时,它将以美国格式(mm / dd / yyyy)返回。我需要一切都是一致的。怎么样?
我已尝试在web配置<globalization uiCulture="en-GB" culture="en-GB" />
中设置文化信息,但这没有任何效果,我将某些区域存储在sql server中的日期为GETDATE(),有时将其作为{{1传入}}
答案 0 :(得分:0)
我实际上并不认为您处理的行为不正确,您最有可能处理基于DateTime
或DATE
项目的SAME的不同TEXT表示:
en-US
区域设置的系统上运行,那么在调试器中显示日期时,它的检测器显然会使用这些设置。SQL
的{{1}}列,则SQL可能会使用字符串的“SQL”标准表示,这就是您看到“2013-12-10”的原因“DATE
值时,Visual Studio将再次使用系统的设置来显示该日期。它无法显示实际的二进制表示。问题的外壳:
DateTime
变量或DateTime
数据库列中)与其TEXT表示区分开来。