我接收的时间格式为12:00
,我也有一个格式为<DstTzInfo 'Europe/Paris' PMT+0:09:00 STD>
的时区。我想看看,这个日期是否已经超过了该时区的当前时间。
我的当前时区可能与我接收到的时区不同,所以我使用以下命令:
tz = pytz.timezone('Europe/Paris')
d = parse("14:39").replace(tzinfo=tz)
now = datetime.datetime.now(tz)
print (d - now).total_seconds()
即使巴黎现在的时间是14:39,我仍然得到6600秒。我也试过now = datetime.datetime.replace(tzinfo=tz
),但我得到-3600秒。
我想要的是在指定的时区有时间,检查它是否通过。
这个呢:
from datetime import datetime
from dateutil import tz
tz = tz.gettz('Europe/Paris')
now = datetime.now().replace(tzinfo=tz)
d = datetime.strptime("{0}/{1}/{2} 14:39".format(now.year,now.month,now.day), "%Y/%m/%d %H:%M").replace(tzinfo=tz)
print (d-now).total_seconds()
我将中的当前时间保持在欧洲/巴黎时区中,并在同一时区创建d。如果它们的差为负值,则该日期已经超过了该时区的当前时间。