【问题标题】:How to set time zone automatically using current location in C#如何在 C# 中使用当前位置自动设置时区
【发布时间】:2015-10-01 10:35:22
【问题描述】:

我需要使用位置自动设置系统的时区。当我去其他地方旅行时,我的系统时区将保持不变。当我打开我的 WPF 应用程序并且如果 Internet 已连接时,是否可以通过按位置获取当前时区来自动设置系统的时区?

【问题讨论】:

    标签: c# wpf timezone


    【解决方案1】:

    你需要

    1. 拥有可靠的位置信息来源。

    2. 将步骤 1 中确定的坐标传递给one of these techniques 以获取 IANA 时区。

    3. 使用 CLDR 映射将 IANA 时区转换为 Windows 时区,as described here

    4. 使用this answer 中的一种方法设置Windows 时区。

    5. 向您的用户解释为什么您的应用程序正在做一些实际上是他们自己的责任(或操作系统的责任)的事情。换句话说,不要在这件事上偷偷摸摸。如果您打算这样做,它应该是您应用程序的一个突出特性,并且您应该在更改任何内容之前获得用户的确认。请记住,时区设置对机器来说是全局的,而不仅仅是你的应用程序。

    恕我直言,如果这不是您正在编写的系统实用程序,那么您应该使用确定的时区,而不是尝试将系统设置为它。

    【讨论】:

      【解决方案2】:

      第一步:你需要获取我建议的用户位置HostIP

      第二步:获取该位置的时区Google maps time zone API

      然后你必须将它们缝合在一起。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-05
        相关资源
        最近更新 更多