对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,但这并没有安装在web服务器上,尽管我可能会得到它,如果这是最好的/最简单的方法来实现它。
是的,尝试安装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>)
,你可以用它来计算当前的UTC小时与now.hour
(返回14
)
您可能会使用datetime
模块(它是标准库的一部分,因此如果系统上有标准python,则会安装它)。
tzinfo
属性,在时区转换期间使用。这里有一篇博客文章解释了如何一步一步地使用它们。