如何在 Python 中将字符串转换为日期时间

在日常开发中,我们经常需要将字符串转换为日期时间类型。Python 提供了丰富的库来处理日期时间类型,本文将介绍如何使用 Python 中的 datetime 模块将字符串转换为日期时间类型。

datetime 模块简介

datetime 模块是 Python 中处理日期时间类型的标准库,提供了 date、time 和 datetime 三个类来处理日期、时间和日期时间类型。datetime 类是最常用的类,它可以表示一个日期时间,包括年、月、日、时、分、秒和微秒等信息。

字符串转换为日期时间类型

在 Python 中,我们可以使用 datetime 模块的 strptime 函数将字符串转换为日期时间类型。strptime 函数的格式如下:

datetime.datetime.strptime(date_string, format)

其中,date_string 是要转换的字符串,format 是字符串的格式,它告诉 strptime 函数如何解析字符串。下面是一些常用的格式:

  • %Y:四位数的年份(例如:2021)
  • %m:月份(01-12)
  • %d:日(01-31)
  • %H:小时(00-23)
  • %M:分钟(00-59)
  • %S:秒(00-59)

下面是一个示例,将字符串 “2021-06-30 12:00:00” 转换为日期时间类型:

from datetime import datetime

date_string = "2021-06-30 12:00:00"
date_time = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(date_time)

输出结果为:

2021-06-30 12:00:00

注意事项

在使用 strptime 函数时,需要注意以下几点:

3.1 时间格式必须与字符串格式相匹配

strptime 函数的第二个参数 format 必须与要转换的字符串的格式相匹配,否则会抛出 ValueError 异常。例如,如果要转换的字符串是 “2021-06-30″,而 format 参数却是 “%Y-%m-%d %H:%M:%S”,就会抛出 ValueError 异常。

3.2 时间格式中的大小写必须正确

strptime 函数的 format 参数中,大小写必须与要转换的字符串的大小写相匹配。例如,如果要转换的字符串是 “2021-06-30 12:00:00″,而 format 参数中的 %y 是小写的,就会抛出 ValueError 异常。

3.3 时间格式中的分隔符必须正确

strptime 函数的 format 参数中,分隔符必须与要转换的字符串中的分隔符相匹配。例如,如果要转换的字符串是 “2021/06/30 12:00:00″,而 format 参数中的分隔符是 “-“,就会抛出 ValueError 异常。

3.4 时间格式中的空格必须正确

strptime 函数的 format 参数中,空格必须与要转换的字符串中的空格相匹配。例如,如果要转换的字符串是 “2021-06-30 12:00:00″,而 format 参数中的空格是 Tab 键,就会抛出 ValueError 异常。

总结

本文介绍了如何使用 Python 中的 datetime 模块将字符串转换为日期时间类型。在使用 strptime 函数时,需要注意时间格式必须与字符串格式相匹配,大小写必须正确,分隔符必须正确,空格必须正确。希望本文能帮助大家更好地处理日期时间类型的数据。