如何使用C#中的当前位置自动设置时区

时间:2015-07-13 08:31:51

标签: c# wpf timezone

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

2 个答案:

答案 0 :(得分:1)

你需要

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

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

  3. 使用CLDR映射{I-I>将IANA时区转换为Windows时区。

  4. 使用as described here中的一种方法设置Windows时区。

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

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

答案 1 :(得分:0)

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

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

然后你必须将它们拼接在一起。