我有一个RoR应用程序,我使用gmaps4rails存储位置。根据位置的地址,我想猜测UTC偏移(" +00:00"," -05:00",..)。 是否可以或者我必须要求用户(并信任他们)设置正确的时区偏移?
顺便说一句,我知道有些地方的时区偏差可能会在一年内发生变化。在这种情况下,我应该使用区域名称而不是偏移量。有没有宝石有助于解决这些问题?
谢谢,
答案 0 :(得分:0)
使用任意数量的Web服务将地址地理位置设置为纬度/经度坐标。然后查看How to get a time zone from a location using latitude and longitude coordinates?中的选项Yevgeniy提到的Ruby gem以及其他选项。
不要尝试为该位置获取偏移 - 它可能会定期更改为夏令时。获取时区,例如Asia/Singapore
或America/New_York
。然后使用它来确定特定时间点的偏移量。
请参阅the timezone tag wiki中的“时区!=偏移”。
答案 1 :(得分:-2)
即使您获得了解决方案,最好向用户询问。如果美国的用户希望根据新加坡的时区看到他/她的日期时间(因为这是他/她的家乡),他/她应该像那样出现。