【发布时间】:2015-10-01 10:35:22
【问题描述】:
我需要使用位置自动设置系统的时区。当我去其他地方旅行时,我的系统时区将保持不变。当我打开我的 WPF 应用程序并且如果 Internet 已连接时,是否可以通过按位置获取当前时区来自动设置系统的时区?
【问题讨论】:
我需要使用位置自动设置系统的时区。当我去其他地方旅行时,我的系统时区将保持不变。当我打开我的 WPF 应用程序并且如果 Internet 已连接时,是否可以通过按位置获取当前时区来自动设置系统的时区?
【问题讨论】:
你需要
拥有可靠的位置信息来源。
将步骤 1 中确定的坐标传递给one of these techniques 以获取 IANA 时区。
使用 CLDR 映射将 IANA 时区转换为 Windows 时区,as described here。
使用this answer 中的一种方法设置Windows 时区。
向您的用户解释为什么您的应用程序正在做一些实际上是他们自己的责任(或操作系统的责任)的事情。换句话说,不要在这件事上偷偷摸摸。如果您打算这样做,它应该是您应用程序的一个突出特性,并且您应该在更改任何内容之前获得用户的确认。请记住,时区设置对机器来说是全局的,而不仅仅是你的应用程序。
恕我直言,如果这不是您正在编写的系统实用程序,那么您应该使用确定的时区,而不是尝试将系统设置为它。
【讨论】:
【讨论】: