gpt4 book ai didi

datetime - 获取 Web 用户位置以进行 DateTime CultureInfo 转换

转载 作者:行者123 更新时间:2023-12-03 03:15:14 25 4
gpt4 key购买 nike

我正在编写 MVC 5 Internet 应用程序并将该应用程序部署到 Azure。所有日期时间值均以 UTC 格式存储。

如何为网络用户将这些值显示为本地时间?我知道如何将 UTC 日期时间转换为本地时间,但不确定向使用 Azure 网站的国际用户显示这些日期时间值的最佳方式。

我做了一些研究,并且了解到可以执行以下操作:

  1. 获取 HttpRequest.UserLanguages 字符串数组。
  2. 检索其第一个元素。第一个元素指示用户的默认或首选语言和区域。
  3. 通过调用 CultureInfo.CultureInfo(String, Boolean) 构造函数来实例化表示用户首选文化的 CultureInfo 对象。
  4. 使用 CultureInfo 对象转换 UTC 日期时间。

有更好/更简单的方法吗?这是否必须在每个 Controller /操作结果中完成,或者可以在一个地方完成吗?有没有人编写了一些我可以使用的代码,而不是编写自己的代码?

提前致谢。

最佳答案

将其添加到您的网络配置中:

<configuration>
<system.web>
<globalization culture="auto:en-US" uiCulture="en-US" />
</system.web>
</configuration>

如果您不打算使用本地化资源,那么您可以省略配置的 uiCulture 部分。

This setting automatically switches the ASP.NET request to the browser client’s language if a match can be found. If the browser doesn’t provide a language or the language can’t be matched to one of the .NET installed cultures, the fallback value is used – in this case en-US.

This setting applies the ASP.NET request thread’s CurrentCulture and UICulture. The culture is switched very early in the ASP.NET HttpApplication lifecycle, so you see the selected culture applied and available even in Application_BeginRequest and then throughout the rest of the request cycle.

The full article about this

关于datetime - 获取 Web 用户位置以进行 DateTime CultureInfo 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28734043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com