如何在c#中使用当前位置自动设置时区

本文关键字:位置 时区 设置 | 更新日期: 2023-09-27 18:02:26

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

如何在c#中使用当前位置自动设置时区

你需要

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

  2. 将步骤1中确定的坐标传递给这些技术之一,以获得IANA时区。

  3. 使用CLDR映射将IANA时区转换为Windows时区,如下所述。

  4. 使用此答案中的一种方法设置Windows时区。

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

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

第一步:你需要得到用户的位置,我建议HostIP

第二步:获取该位置的时区Google地图时区API

那么你必须把它们缝在一起