Python - 尝试获得不同的时区

时间:2011-11-30 14:21:12

标签: python timezone

完全不熟悉python,我实际上正在研究前同事的剧本。看着它看起来相当直截了当。情况如下:

该脚本查看当前的本地时间(UTC)并呈现基于时间的表格,该表格随着时间的推移在一天中滚动/更改,因此始终有一个滚动的8小时表格。

问题是,现在我们想在CST('America / Chicago')中部署此工具的副本(在同一台服务器上)(意味着我需要将UTC时间更改为CST)所以我是只是试图找到一种方法来修改他所要做的'current_time'变量== GMT -6。

他使用strftime()来获得第一个小时:

current_time = int(strftime("%H"))
if current_time <19:
temp_page.write(...)
elif current_time == 19:
temp_page.write(...)

所以 - 从我的PHP知识,我希望能够做到这样的事情:

current_time = int(strftime("%H"), (localtime() -6 hours))

(是的,我意识到这不是真正的PHP代码,但希望你能理解我的意思; - )

在我的研究中,我遇到过pytz,但这并没有安装在网络服务器上,但如果这是最好/最简单的方法,我可能会得到它。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

是的,尝试安装pytz,在使用不同的时区(和UTC)时,它会对您有所帮助。

当前的UTC时间(独立于您计算机的时区)可以通过以下方式获得:

import pytz
from datetime import datetime

now = datetime.now(pytz.utc)

now现在为datetime.datetime(2011, 11, 30, 14, 26, 30, 628014, tzinfo=<UTC>),您可以使用它来now.hour计算当前的UTC小时数(返回14

答案 1 :(得分:0)

您可以使用datetime模块(它是标准库的一部分,因此如果系统上有标准python,则会安装它)。

特别是,datetime对象可以具有可选的tzinfo属性,在时区转换期间使用。 Here是一篇博客文章,逐步解释了如何使用这些内容。