【问题标题】:How do I find the timezone offset in hours from the UTC with latitude and longitude [duplicate]如何找到具有纬度和经度的 UTC 小时的时区偏移量 [重复]
【发布时间】:2013-12-07 00:43:36
【问题描述】:
我在我的代码中使用weatherlib 库来查找日出和日落时间,但是我找不到用户当前的时区以获取纬度和经度离线。以下是有关该主题的一些额外信息:
参考calc_sunrise:
calc_sunrise(日期、纬度、经度、时区)
计算给定日期和地点的日出时间。来自 http://www.esrl.noaa.gov/gmd/grad/solcalc/ 的 JavaScript 代码的例程。
参数
- date:一个 os.date 表,表示计算日出时间的日期
- 纬度:位置的纬度
- 经度:位置的经度
- 时区:时区作为给定位置的 UTC 小时偏移量
返回值:
- os.date 表,保存日出发生的日期和时间
它们还有一个calc_timezone_offset 函数,但您需要当前时区的字符串。这是它的参考:
calc_timezone_offset(时区)
计算给定时区与 UTC 的时区偏移量(以秒为单位)。使用外部命令 date(1)。如果本地日期命令支持夏令时,则考虑夏令时。仅在 Ubuntu Linux 10.04 和 Solaris 10 操作系统上测试。可能不是很便携。
参数
- 时区:时区名称,例如欧洲/赫尔辛基、亚洲/曼谷、美国/太平洋
用法
- weatherlib.calc_timezone_offset('欧洲/赫尔辛基') -- 7200
- weatherlib.calc_timezone_offset('亚洲/曼谷') -- 28800
- weatherlib.calc_timezone_offset('US/Pacific') -- -28800
返回值:
- 从 UTC 开始的时区偏移量(以秒为单位)。 UTC 之前的时区为正,UTC 之后的时区为负。
谢谢!
附言我确实寻找了重复的问题,但没有人给我离线使用的答案。
编辑:指定我需要它离线。
【问题讨论】:
-
关键点可能是找到一个能给出每个时区确切边界的来源。然后你也许可以做一些聪明的事情,比如按纬度区域排序,而不是对给定的经度/纬度是否在任意多边形内进行完全通用的测试。
-
@JimLewis - 谢谢。你知道有什么地方可以找到时区的边界位置吗?几乎所有我谷歌链接到这个问题的东西。
-
@JohnZwinck - 啊,我忘了我正在寻找这个离线。我将其添加到问题中。
-
@MattJohnson - 同上(我无权在一条评论中输入多个名字)
-
@Zoyt - 我发布的链接中的一些选项可以离线使用。
标签:
lua
timezone
latitude-longitude
utc
timezone-offset