在Python格式字符串中计算时区偏移量
在Python格式字符串中计算时区偏移量
这个问题已经有了答案:
我有一个datetime对象,需要将其转换为给定的时区并获取该日期的时区偏移量。以下是一个示例:
>>> datetime.datetime(2045,11,30, 0,0,0).strftime("%Y-%m-%dT%H:%M:%S") '2045-11-30T00:00:00'
我想动态添加时区“America/Chicago”的偏移量,因此例如,结果将如下所示:
'2045-11-30T00:00:00T-06:00' # fluctuates based on DST, cannot be hardcoded
我应该怎么做?
admin 更改状态以发布 2023年5月23日
我相信你要找的是tzinfo。在文档中,下面是一个示例:
>>> from datetime import tzinfo, timedelta, datetime >>> class TZ(tzinfo): ... """A time zone with an arbitrary, constant -06:39 offset.""" ... def utcoffset(self, dt): ... return timedelta(hours=-6, minutes=-39) ... >>> datetime(2002, 12, 25, tzinfo=TZ()).isoformat(' ') '2002-12-25 00:00:00-06:39' >>> datetime(2009, 11, 27, microsecond=100, tzinfo=TZ()).isoformat() '2009-11-27T00:00:00.000100-06:39'
对于你的特定示例,结果如下:
>>> datetime(2045,11,30, 0,0,0, tzinfo=TZ()).isoformat() '2045-11-30T00:00:00-06:00'