我有一个漂浮的时区(例如4.0)
我想用给定的时区构建datetime
。
我试过了,
datetime.now(timezone)
但它会抛出
TypeError: tzinfo argument must be None or of a tzinfo subclass, not type 'float'
所以我想知道如何从浮动中获取tzinfo
?
答案 0 :(得分:4)
如果您使用的是Python 3.2或更高版本,则需要创建datetime.timezone()
object;它需要一个偏移量为datetime.timedelta()
:
offset = timezone(timedelta(hours=timezone)
datetime.now(offset))
对于早期的Python版本,最简单的方法是使用外部库为您定义时区对象。
dateutil
library包括用于创建时区对象的数字偏移的对象:
from dateutil.tz import tzoffset
offset = tzoffset(None, timezone * 3600) # offset in seconds
datetime.now(offset)
答案 1 :(得分:0)