Python 将字符串中的日期时间转换为ISO格式,然后再转换为UTC格式
期待将此日期转换为“2020-07-23 23:00:00.000” 首先是ISO格式,然后是UTC格式 这是我试图将其转换为ISO格式的内容,希望将其转换为UTCPython 将字符串中的日期时间转换为ISO格式,然后再转换为UTC格式,python,python-3.x,datetime,utc,Python,Python 3.x,Datetime,Utc,期待将此日期转换为“2020-07-23 23:00:00.000” 首先是ISO格式,然后是UTC格式 这是我试图将其转换为ISO格式的内容,希望将其转换为UTC def get_date_in_iso_utc(date_str): date_time_obj = datetime.datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S.%f') return date_time_obj.isoformat() 转换为ISO格式:
def get_date_in_iso_utc(date_str):
date_time_obj = datetime.datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S.%f')
return date_time_obj.isoformat()
转换为ISO格式: 从ISO转换为UTC:转换为datetime和将datetime转换为UTC (我没有将其标记为重复,因为没有一篇文章可以回答这两个问题。请注意,您可以轻松地用谷歌搜索答案)使用该模块,该模块附带完整的时区+UTC列表。找出本地时区是什么,从中构造一个
timezone
对象,并将其操作并附加到iso\u格式
datetime
源代码,使用亚洲/加尔各答当地时区,用于字符串2020-7-23 10:11:12
:
import pytz, datetime
time_zone = pytz.timezone("Asia/Kolkata")
iso_format = datetime.datetime.strptime("2020-7-23 10:11:12", "%Y-%m-%d %H:%M:%S")
local_date_time = time_zone.localize(iso_format, is_dst=None)
utc_date_time = local_date_time.astimezone(pytz.utc)
要将其转换为UTC计时,您需要执行以下操作:
final_data = utc_date_time.strftime("%Y-%m-%d %H:%M:%S")
print(final_data)
# OUTPUT
# >>> 2020-07-23 04:41:12
添加
要查找指定的时区,您只能通过pytz
执行此操作。只需使用下面的代码
>>> pytz.all_timezones
>>> ['Africa/Abidjan',
'Africa/Accra',
'Africa/Addis_Ababa',
...]
希望回答您的问题为什么您会建议a)不需要回答问题,b)将来可能会被弃用Python3.9现在将有,因为更少的陷阱,例如您不需要
本地化
…谢谢@MrFuppes,注意到您的建议。谢谢你的投入。我的发现就是这个问题的答案。在这里,在这里,我们可以自由地提供意见,而这个人只会选择最好的选择。因为,我没有更新未来的东西,我发现这是我最好的解决方案。这就是我们学习的方式:)虽然我真的很喜欢你的多重引用答案,但我认为重要的是要注意,链接的问题(它们的答案)显示了多种方法,如果你开始使用Python中的日期和时间,这些方法可能会令人困惑。在这里,我想你所需要的就是datetime
@MrFuppes好吧,那么我很高兴我们这里有各种各样的答案——一个简单的方法,就像你的答案一样,就像我的答案一样“谷歌一下”。我认为“先搜索,然后提问”是处理datetime
:)的最佳方法。请澄清一下:您的输入字符串代表哪个时区?您想要的输出是什么,一个tz感知的datetime对象?另一个字符串(哪种格式?)?