【问题标题】:IIS default datetime formatIIS 默认日期时间格式
【发布时间】:2013-05-09 12:34:39
【问题描述】:

我们有一个 WCF Web 服务返回一些包含日期时间值作为字符串的 xml。该值首先从数据库中读出,然后使用 .ToString() 附加到 xml 字符串中。

我们有许多 web 服务器正在运行,但这个特定的服务器正在将 datetime 值转换为 24 小时值,我们需要它具有 12 小时值但我不知道如何更改 IIS 默认日期格式。我尝试更改区域设置,并查看了 Web 服务的文化和 ui 文化值,它们都设置为“不变语言(不变国家)”。

我认为这可能需要更改注册表。有谁知道如何更改网络服务的日期时间格式?

现阶段我们无法更改代码,所以我唯一的选择是更新服务器本身。

它在 windows server 2008 上运行。

谢谢

【问题讨论】:

  • 您是否检查了运行您的网络服务的用户的区域设置?
  • 您是指 IIS 用户还是用于启动 Web 服务的用户帐户?
  • 我指的是实际运行 WCF 服务的帐户(请参阅任务管理器中的用户列)。还是它在 IIS 应用程序池中运行?然后就是这个用户...
  • 它在应用程序池中运行。在这种情况下,我将如何检查应用程序池用户的日期时间格式设置?还是应用程序池本身的?我知道我可以在 .net 全球化下改变文化,我试过了,但没有帮助
  • 为什么不能改代码?这才是正确的方法。

标签: wcf datetime iis locale


【解决方案1】:

没关系,我已经弄清楚了。要更改 IIS 网站/网络服务的日期时间区域设置,请执行以下操作:

首先进入 IIS 并单击您要配置的网站/Web 服务。在右侧打开 .Net Globalization 并将文化和 ui 文化更改为您想要的任何其他内容。

现在在控制面板中进入区域和语言屏幕并将日期时间格式更改为您想要的格式。然后在区域和语言屏幕的管理选项卡上单击“复制设置”按钮并勾选“欢迎屏幕和系统帐户”框。在两个屏幕上单击确定以退出区域和语言。

现在回到 IIS,将文化和 ui 文化改回您更改之前的状态。您的网站/网络服务现在应该提供正确的日期时间格式。

我认为这里的关键点是将区域和语言设置复制到所有系统用户。然后更改 IIS 文化设置会使 IIS 拾取新设置。在更改区域和语言屏幕后,您可能会不改变文化而简单地重新启动网络服务器或机器,但我没有尝试过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 2019-02-12
    • 2016-04-08
    • 2020-12-14
    相关资源
    最近更新 更多