我在让timezone.localize()
正常工作时遇到了一些问题。我的目标是抓住今天的日期,把它从CST转换成EST。最后格式化日期时间,然后再把它吐出来。我可以正确地格式化日期,但是日期时间没有从CST更改为EST。另外,当我格式化日期时,我看不到包含时区的文本表示。
下面我列出了一个简单的测试程序:
#! /usr/bin/python
#Test script
import threading
import datetime
import pexpect
import pxssh
import threading
from pytz import timezone
import pytz
est = timezone('US/Eastern')
curtime = est.localize(datetime.datetime.now().strftime("%a %b %d %H:%M:%S %Z %Y"))
#test time change
#curtime = datetime.datetime.now().strftime("%a %b %d %H:%M:%S %Z %Y")
class ThreadClass(threading.Thread):
def run(self):
#now = (datetime.datetime.now() + datetime.timedelta(0, 3600))
now = (datetime.datetime.now())
print "%s says Hello World at time: %s" % (self.getName(), curtime)
for i in range(3):
t = ThreadClass()
t.start()
.localize()
接受一个简单的datetime对象,并将其解释为就好像它在那个时区一样。它不会将时间移到另一个时区。一个简单的datetime对象有no时区信息,可以使移动成为可能。您想在您的本地时区中解释
now()
,然后使用.astimezone()
来解释另一时区中的日期时间:使用
cst.localize
将原始日期时间设置为可识别时区的日期时间。然后使用
astimezone
将支持时区的日期时间转换为另一个时区。相关问题 更多 >
编程相关推荐