Tag: timezone

Ruby gem用于查找位置的时区

我有一个位置(城市,州),日期和时间,我想将其转换为utc,但需要先找到该位置的时区。 我做了一些研究,一切似乎都指向地球工具或地理名称,但两个网络服务似乎只是纬度和经度。 是否有服务或gem或任何其他方式根据这种位置格式找到时区? 或者如何将位置转换为纬度和经度?

在选择预定项目时,在Postgres中计算DST

我有一个Postgres 时钟闹钟表(不是真的,但这是类似的,更容易解释)。 用户以1小时的分辨率设置警报,用户可以来自许多不同的时区。 警报每天重复。 我想要可靠地获取应该在一天中的特定时刻发生的警报,并且我遇到了夏令时问题 。 我该如何以最好的方式做到这一点? 例 阿尔弗雷德和洛塔都住在斯德哥尔摩(从UTC开始+1小时,但是在夏令时+ 2小时)。 Sharon住在新加坡(距离UTC +8小时,没有夏令时) 在冬季,阿尔弗雷德在凌晨4点发出警报。 警报应该在当地时间凌晨4点全年开始。 夏季,洛塔在凌晨5点发出警报。 它应该全年都在凌晨5点出发。 与此同时,沙龙已经在上午11点发出警报。 所有这些都可以03:00 UTC的forms存储在数据库中。 如果我在冬天查询数据库以获取应在03:00 UTC发出的警报,我想要Alfred和Sharon的警报。 新加坡现在离瑞典只有7小时,所以新加坡上午11点在瑞典凌晨4点。 洛塔的警报不应再持续一小时。 相反,如果我在夏天查询数据库以获取应在03:00 UTC发出的警报,我想要Lotta和Sharon的警报。 新加坡现在离瑞典只有6小时,所以新加坡上午11点在瑞典上午5点。 斯文的闹钟在一小时前响起。 如何存储,查询数据库? 如有必要,我可以更改数据库架构。 目前,我们根本没有调整DST,事实上只有一个“小时”整数字段(看起来很愚蠢,时间字段会更好)。 我似乎需要存储UTC时间和时区信息,但我不知道如何在Postgres中最好地实现这一点。 我发现Postgres有一些时区概念,但据我所知,没有时区字段类型。 另外,我想我需要在SQL中进行一些计算,以确定如何根据时区数据和创建日期来偏移select中的UTC时间。 我对SQL不太满意…… 我确实想在Postgres中解决这个问题,因为可能存在很多“警报”,我想避免将所有这些问题都引入Ruby并在那里过滤所带来的性能问题。 (是的,这是一个Rails应用程序。)