我在过去两天遇到了关于SQL中日期格式的问题。
我在ASP.NET中开发了一个应用程序,并将其部署在生产服务器中。我将数据保存到一个表中,该表有一个xml列,其中包含日期字段,如
---某个约会时间---
当我从localhost运行应用程序(或在我的计算机中部署应用程序)时,日期会以24小时时间格式保留
例如:15/08/2009 14:30:00
当我运行在生产服务器中部署的相同应用程序时,数据将以12小时时间格式保存
例如:15/08/2009 2:30:00 PM
注意:在保存数据时,我没有在应用程序代码中指定任何格式。
以下是我的尝试:
检查了我的计算机和网络服务器的区域设置和格式是否相同(h:mm:ss tt)
检查了我的计算机和网络服务器的文化信息,它们是相同的。 (烯AU)
在我的计算机的IIS属性中,我通过编辑配置设置了相同的网络服务器文化。
从我的计算机和生产网络服务器持久保存同一格式的日期列中的日期(24小时格式)。
例如:2009-10-28 14:00:49.000
日期时间仍然以不同的格式存储。我无法弄清楚应用程序在持久化时采用何种格式。
我终于找到了这个问题的根本原因。我想发布它,以防有人面临同样的问题,这可能会对他们有所帮助。
去注册。选择Controlpanel - >国际 - > sTimeFormat并验证给定的时间格式。
在我的电脑中,时间格式为HH:mm:ss,在服务器中,hh:mm:ss tt是主要问题。我已将服务器中的格式更改为HH:mm:ss并且它完美无缺:)
有关详细信息,请参阅this link。
答案 0 :(得分:1)
尝试将以下内容添加到您网站的web.config中:
<system.web>
<globalization culture="en-ZA" uiCulture="en-ZA"/>
</system.web>
将“en-ZA”替换为您需要的特定文化。这将确保不会使用浏览器文化设置。