如何确定用户是否更改了java的user.timezone?

时间:2015-07-10 19:47:21

标签: java timezone default

我目前正在寻找一种创造性的方法,以了解如何通过命令行参数或其他一些自定义配置更改java中的user.timezone。所以从技术上讲,我正在寻找一种解决方案,如何确定计算机的实际时区(如果可能的话)。

非常感谢任何帮助。

谢谢,

2 个答案:

答案 0 :(得分:0)

也许您可以根据他们的IP和GeoLite2之类的东西来确定它。 GeoLite2可以获得城市,你可以查看该城市的时区(它甚至可以直接给你时区,我不确定)。你可以在ipinfo获取他们的IP。

答案 1 :(得分:0)

我想到的第一个解决方案是探测外部资源。例如如果你输入

wmic timezone get StandardName

在Windows命令行中,您应该获得时区。从理论上讲,您可以通过在Java中运行此命令来获取输出,如this thread中所述。

P.S。在Java中运行一个模糊的命令可能不是“高质量”,它可能也不是最有效的。我的想法是以某种方式使用另一个不继承JVM参数或其他“自定义”的进程(例如命令行,Javascript,可能还有其他脚本语言等)。

另一种可能性是(取决于您提供的客户信息)使用Google's Time Zone API

e.g。 https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331161200