我如何获得纽约市时间?

时间:2012-08-08 21:49:48

标签: python

我经常旅行,但住在纽约市,无论我在哪里,都在努力展示纽约时间。我怎么用Python做到这一点?我有以下,这不起作用,给我错误:

 `'module' object is not callable` 

此外,我不确定下面的方法是否会在夏令时下正确更新:

import pytz
utc = pytz.utc
utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
eastern = pytz.timezone('US/Eastern')
loc_dt = utc_dt.astimezone(eastern)
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
loc_dt.strftime(fmt)

4 个答案:

答案 0 :(得分:7)

而不是datetime,请写datetime.datetime

import datetime
import pytz

utc = pytz.utc
utc_dt = datetime.datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
eastern = pytz.timezone('US/Eastern')
loc_dt = utc_dt.astimezone(eastern)
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
loc_dt.strftime(fmt)

那是因为模块datetime包含一个类datetime.datetime

答案 1 :(得分:5)

您可以按以下方式使用datetime方法在特定时区获取当前时间的now()个对象:

import datetime, pytz
nyc_datetime = datetime.datetime.now(pytz.timezone('US/Eastern'))

答案 2 :(得分:1)

我会这样做:

import datetime
import pytz
now = datetime.datetime.now(tz=pytz.timezone('US/Eastern'))
print("now time is: ", now)
current_hour = now.hour
current_minute = now.minute
current_second = now.second
current_weekday = now.weekday()

答案 3 :(得分:0)

这样编写导入文件更干净:

from datetime import datetime
import pytz
now = datetime.now(tz=pytz.timezone('US/Eastern'))

这允许在代码中进一步重复使用datetime,而不必每次都使用datetime.datetime。还可以避免不必要地导入整个datetime模块。

还要注意,根据IANA,“美国/东部”已过时。也许考虑“美国/纽约”