Sql server 不同服务器之间的日期格式不匹配(XML列)

Sql server 不同服务器之间的日期格式不匹配(XML列),sql-server,xml,datetime,Sql Server,Xml,Datetime,在过去的两天里,我遇到了一个关于SQL中日期格式的问题 我已经在ASP.NET中开发了一个应用程序,并在生产服务器中部署了它。我将数据持久化到一个表中,该表有一个带有日期字段的xml列,如 ---约会时间--- 当我从localhost运行应用程序(或在我的计算机中部署应用程序)时,日期以24小时时间格式保存 例如:15/08/2009 14:30:00 当我运行部署在生产服务器中的同一个应用程序时,数据将以12小时的时间格式持久化 例如:2009年8月15日下午2:30:00 注意:在持久化数

在过去的两天里,我遇到了一个关于SQL中日期格式的问题

我已经在ASP.NET中开发了一个应用程序,并在生产服务器中部署了它。我将数据持久化到一个表中,该表有一个带有日期字段的xml列,如

---约会时间---

当我从localhost运行应用程序(或在我的计算机中部署应用程序)时,日期以24小时时间格式保存

例如:15/08/2009 14:30:00

当我运行部署在生产服务器中的同一个应用程序时,数据将以12小时的时间格式持久化

例如:2009年8月15日下午2:30:00

注意:在持久化数据时,我没有在应用程序代码中指定任何格式

以下是我尝试过的:

  • 已检查我的计算机和Web服务器的区域设置,格式相同(h:mm:ss tt)

  • 我已经检查了我的计算机和Web服务器的区域性信息,它们是相同的。(非盟)

  • 在我的计算机的IIS属性中,我通过编辑配置设置了相同的Web服务器区域性

  • 当从我的计算机和生产Web服务器中持久化时,同一表的日期列中的日期以一致的格式(24小时格式)存储

  • 例如:2009-10-2814:00:49.000

    日期和时间仍然以不同的格式存储。我无法确定应用程序在持久化时采用的格式


    我终于找到了这个问题的根本原因。我想发布它,以防有人面临同样的问题,这可能会帮助他们

    转到regedit。选择控制面板->国际->时间格式并验证给定的时间格式

    在我的计算机中,时间格式是HH:mm:ss,而在服务器中,主要问题是HH:mm:sstt。我已经将服务器中的格式更改为HH:mm:ss,它工作得非常好:)


    有关详细信息,请参阅。

    尝试将以下内容添加到网站的web.config中:

    <system.web>
    <globalization culture="en-ZA" uiCulture="en-ZA"/>
    </system.web>
    
    
    

    将“en-ZA”替换为所需的特定区域性。将确保不使用浏览器区域性设置。

    尝试将以下内容添加到网站的web.config中:

    <system.web>
    <globalization culture="en-ZA" uiCulture="en-ZA"/>
    </system.web>
    
    
    
    将“en-ZA”替换为所需的特定区域性。将确保不使用浏览器区域性设置