使用地理位置为Django用户自定义时区

2024-05-15 12:23:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个Django应用程序,它需要报告相对于用户的本地时间。我不想让用户直接输入时区,因为我在数据库中存储了他的地址。我只考虑美国用户。由于美国的大多数州只在一个时区,所以在大多数情况下,可以根据州信息计算时区。我想给一个函数指定一个州/地理信息的名称,并让它返回该州UTC的时间偏移量(考虑到白昼节约时间)。在

有没有一个库可以为python做到这一点?在


Tags: django函数用户名称信息数据库应用程序地址
3条回答

正如安德烈·米勒所指出的,时区与州之间没有联系。你最好使用zipcode,因为有些城市跨越时区。在

您可以购买一些数据库,将邮政编码映射到时区。我发现其中一个还包括UTC轮班和夏令时:

USA 5-digit Zipcode DB with time zone info.

我以前没有做过时区的事情,但是我用过这种数据库来获取lat/log信息。数据会发生变化,所以计划一年更新几次数据库。在

顺便说一句,如果有人知道这样一个免费的数据库,请发帖:我认为这对社区来说真的很方便。在

我不确定是否存在这样的图书馆。美国的每个州并不是只有一个时区。在

看这里:List of U.S. states by time zone

许多州有不止一个。在

我想你仍然可以使用这个列表,选择大多数州使用的时区,然后允许用户自定义它们的时区(如果不同的话)。在

我不确定它有多可靠,但是HTTP请求-封装在request对象中的Django中-有一个显示客户端时区的TZ报头。在

>>> request.META['TZ']
'Europe/London'

相关问题 更多 >