我正在开发一个需要报告相对于用户的本地时间的Django应用。我不想让用户直接输入时区,因为我的地址存储在数据库中。我只考虑美国用户。由于美国大多数州只在一个时区,因此可以根据大多数情况下的州信息计算时区。我想给函数一个状态/地理信息的名称,并让它在考虑日光节省时间的情况下返回该状态的UTC的时间偏移。
是否有可以为python执行此操作的库?
答案 0 :(得分:3)
我不确定这样的库是否存在。美国的每个州都没有一个时区。
看看这里:List of U.S. states by time zone
许多州有不止一个。
我猜你仍然可以使用该列表并选择该州大多数人使用的时区,然后允许用户在其不同时自定义他们的时区。
答案 1 :(得分:0)
我不确定它有多可靠,但HTTP请求 - 封装在request
对象中的Django中 - 有一个TZ
标题,显示客户端的时区。
>>> request.META['TZ']
'Europe/London'
答案 2 :(得分:0)
您可以购买一些数据库,这些数据库将邮政编码映射到时区。这是我发现的还包括UTC转换和夏令时:
USA 5-digit Zipcode DB with time zone info.
之前我还没有完成时区的事情,但是我已经将这种数据库用于lat / log信息。数据 会发生变化,因此请计划每年更新一次数据库。
顺便说一句,如果有人知道这样的免费数据库,请发帖:我认为这对社区来说真的很方便。