现在我用
import datetime
print(datetime.datetime.now().strftime("%X"))
将当前时间显示为字符串。
问题是,我的计算机在Europe/Berlin
时区中运行,这里不计算到UTC的+2偏移量。
它应该显示21:22:26
,而不是19:22:26
与我在这里找到的其他答案也不同,我不会通过打电话来储存它
datetime.datetime(2014, 7, 10, 18, 44, 59, 193982, tzinfo=<UTC>)
但是
datetime.datetime.now()
所以我尝试了(但失败了)以下几点:
>>> from pytz import timezone
>>> datetime.datetime.now().astimezone(timezone('Europe/Berlin'))
ValueError: astimezone() cannot be applied to a naive datetime
无法作为答案发布,因为此问题标记为已关闭
我遇到此问题的服务器不再存在。 不管怎样,这里还有一些值得检查的东西:
要将本地时区中的当前时间作为原始日期时间对象,请执行以下操作:
如果不返回预期时间,则表示您的计算机配置错误。您应该首先修复它(它与Python无关)。
要将UTC中的当前时间作为原始日期时间对象获取,请执行以下操作:
要在Python3.3+中将当前时间作为感知日期时间对象,请执行以下操作:
要从tz数据库中获取给定时区中的当前时间:
它在DST转换期间工作。如果时区在过去有不同的UTC偏移量,也就是说,即使时区在不同时间对应于多个tzinfo对象,它也可以工作。
相关问题 更多 >
编程相关推荐