如何使用经纬度找到与 UTC 的时区偏移(以小时为单位)?

在我的代码中,我使用weatherlib库来查找日出和日落时间,但我找不到纬度和经度的用户当前时区离线。下面是有关该主题的一些额外信息:

calc_sunrise参考:

calc_sunrise(date,latitude,longitude,timezone)
计算给定日期和位置的日出时间。来自http://www.esrl.noaa.gov/gmd/grad/solcalc/上的JavaScript代码的例程。
参数
- dateos.date表,表示要计算日出时间的日期
- latitude:位置的纬度
- longitude:位置的经度
- timezone:给定位置与UTC的小时抵消量的时区
返回值:
- os.date表,其中包含日出发生的日期和时间

他们还有一个calc_timezone_offset函数,但需要当前时区的字符串。这是它的参考:

calc_timezone_offset(时区)
计算给定时区与UTC的时差(以秒为单位)。使用外部命令date1)。如果本地日期命令支持夏令时,则考虑夏令时。仅在Ubuntu Linux 10.04和Solaris 10操作系统上进行了测试。可能不是非常便携。
参数
- timezone:时区名称,例如Europe/Helsinki,Asia/Bangkok,US/Pacific
用法
- weatherlib.calc_timezone_offset('Europe/Helsinki')- 7200
- weatherlib.calc_timezone_offset('Asia/Bangkok'-- 28800
- weatherlib.calc_timezone_offset('US/Pacific'-- - 28800
返回值:
-与UTC相比的时区偏移量(以秒为单位)。 UTC之前的时区为正,UTC之后的时区为负。

谢谢!

P.S.我确实寻找了重复的问题,但没有给我一个离线使用的答案。

点赞
用户2016800
用户2016800

我错过了 @MattJohnson 文章中的离线部分。我的数据来自whereonearth-timezone。谢谢!

2013-12-07 21:27:00