[英]Python. Convert datetime object to string with timezone included
我有一个日期时间对象:
datetime.datetime(2018, 3, 13, 11, 8, 44, tzinfo=<UTC>)
我需要将此对象转换为这样的字符串
"2018-03-13 16:38:44+05:30"
已经尝试过:1)obj.strftime('%Y-%m-%d%H:%M:%S%Z')
它给出的是'2018-03-13 11:08:44UTC'
而不是"2018-03-13 16:38:44+05:30"
2)obj.strftime('%Y-%m-%d%H:%M:%S%z')
它给出的是"2018-03-13 16:38:44+0530"
而不是"2018-03-13 16:38:44+05:30"
如何才能做到这一点????
解决方案是使用带或不带参数的datetime.astimezone()
方法。 它将完全按照您的期望格式化输出,如以下示例所示:
import datetime
import pytz
obj = datetime.datetime(2018, 3, 13, 11, 8, 44, tzinfo=pytz.utc)
print(obj.astimezone()) # date/time with system local timezone
print(obj.astimezone(pytz.timezone('Asia/Calcutta'))) # date/time in Calcutta: 2018-03-13 16:38:44+05:30 (your expected output)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.