我正在尝试将日期时间从UTC转换为另一个时区。但是转换后,时间部分不会改变。相反,它将偏移时间与时区相加。
有什么方法可以显示该时区的实际时间吗?
示例代码:
>>> import datetime
>>> import pytz
>>> today=datetime.datetime.now()
>>> today
datetime.datetime(2019, 4, 18, 0, 50, 33, 294610)
>>> today.isoformat()
'2019-04-18T00:50:33.294610'
>>> today2=today.astimezone(pytz.timezone('Asia/Singapore'))
>>> today2
datetime.datetime(2019, 4, 18, 0, 50, 33, 294610, tzinfo=<DstTzInfo 'Asia/Singapore' +08+8:00:00 STD>)
>>> today2.isoformat()
'2019-04-18T00:50:33.294610+08:00'
>>> today2.strftime("%Y-%m-%d %H:%M:%S")
'2019-04-18 00:50:33'
>>>
我希望打印today2
变量:2019-04-18T08:50:33.294610
我尝试使用 strftime("%Y-%m-%d %H:%M:%S")
格式化日期,但它仍然向我显示2019-04-18 00:50:33
.
请帮忙。谢谢。
这应该可以解决问题,请注意,我设置了删除tzinfo=None
+08:00
In [102]: today2.replace(tzinfo=None).isoformat()
Out[102]: '2019-04-18T01:10:32.226014'
In [103]: today2.isoformat()
Out[103]: '2019-04-18T01:10:32.226014+08:00'