📅  最后修改于: 2023-12-03 15:39:13.551000             🧑  作者: Mango
在 Python 中,我们可以通过 datetime.datetime.strptime()
方法将字符串格式的日期时间转换成 datetime.datetime
类型的对象。这一方法的使用非常简单,只需要先指定字符串的格式,再将字符串传入即可。
例如,如果我们有如下字符串:"2020-01-01 12:00:00"
,我们可以这样转换为日期时间对象:
import datetime
time_str = "2020-01-01 12:00:00"
time_format = "%Y-%m-%d %H:%M:%S"
datetime_obj = datetime.datetime.strptime(time_str, time_format)
print(datetime_obj)
输出结果:
2020-01-01 12:00:00
在上面的代码中,time_str
是我们要转换的字符串,time_format
则指定了字符串的格式。这里的格式是 %Y-%m-%d %H:%M:%S
,其中 %Y
表示年份,%m
表示月份,%d
表示日期,%H
表示小时,%M
表示分钟,%S
表示秒,这些都是在字符串中按照顺序排列的。
除了以上的格式外,还有很多其他的日期时间格式,可以参考 Python 官方文档中的 时间格式化指令。
需要注意的是,在使用 strptime()
方法时,需要保证设置的格式与字符串格式一致,否则就会出现转换失败的情况。
这里还有一种情况,就是要将带有时区(如 UTC、GMT)的字符串转换为日期时间对象,可以使用第三方库 pytz
,如下所示:
import datetime
import pytz
time_str = "2020-01-01T12:00:00Z"
time_format = "%Y-%m-%dT%H:%M:%SZ"
timezone = pytz.UTC
datetime_obj = datetime.datetime.strptime(time_str, time_format).replace(tzinfo=timezone)
print(datetime_obj)
在上面的代码中,time_str
是一个带有时区信息的字符串,time_format
指定了字符串的格式。由于这个时间字符串是以 UTC 时间为基准的,因此我们引入了 pytz
库中的 UTC
时区对象,将其作为 replace()
方法中的 tzinfo
参数传入。最终得到的 datetime_obj
对象就包含了时区信息。
注意:如果没有安装 pytz
库,可以通过 pip 进行安装:pip install pytz
。
以上就是将字符串格式的日期时间转换成 datetime.datetime
类型对象的方法,希望对大家有所帮助!