在本文中,我们将学习在 python 中如何将字符串解析为日期。要在 Python 中将字符串转换为日期时间,请使用 strptime()
方法。strptime()
是 datetime
类的内置方法,用于将日期/时间的字符串表示形式转换为 DateTime
对象。
下面给出了python将字符串解析为日期的语法 -
datetime.strptime(date_string, format)
说明:
- datetime - 它是类名。
- strptime - 它是方法名。
- date_string - 它是日期的字符串表示形式。
- format - 它是date对象的指定格式。
在 python 中如何将字符串解析为日期的参数是使用strptime()
函数,该函数接受必需的参数,且必须为字符串。strptime()
函数与strftime()
函数完全相反,strftime()
函数将datetime
对象转换为字符串。
方法: 编写一个Python应用程序,将给定的字符串转换为Python中的DateTime,有以下几个方法:
- 使用
datetime
模块 - 使用
time
模块 - 使用
dateutil
模块
1. 使用datetime模块: 这里介绍如何使用datetime.strptime()
函数。strptime()
可在DateTime和Time模块中使用,用于DateTime转换。这个函数将给定的字符串从datetime
格式更改为所需的格式。datetime.strptime()
是将字符串解析为日期时间的通用方法。它可以处理由指定格式字符串定义的任何格式。
示例1: 在这里,给出了一个python中的datetime模块的例子 -
# -*- coding:UTF-8 -*-
# __author__ = 'yiibai.com'
import time
import datetime
import datetime
def convert(date_time):
format = '%b %d %Y %I:%M%p'
datetime_str = datetime.datetime.strptime(date_time, format)
return datetime_str
date_time = 'Dec 7 2023 10:46AM'
print(convert(date_time))
运行结果:
2023-12-07 10:46:00
示例2:在这里给出一个 python 中的日期时间模块示例 -
# -*- coding:UTF-8 -*-
# __author__ = 'yiibai.com'
import datetime
date_str = '11/12/2023'
format_str = '%d/%m/%Y'
datetime_obj = datetime.datetime.strptime(date_str, format_str)
print(datetime_obj.date())
运行结果如下:
2023-12-11
示例 3: 在这里给出了 python 中datetime
模块的示例 -
# -*- coding:UTF-8 -*-
# __author__ = 'yiibai.com'
from datetime import datetime
my_date_string = "May 05 2025 12:12PM"
datetime_object = datetime.strptime(my_date_string, '%b %d %Y %I:%M%p')
print(type(datetime_object))
print(datetime_object)
运行结果如下:
2025-05-05 12:12:00
可以使用 strptime()
将字符串格式的日期和时间转换为日期时间类型。第一个参数是字符串,第二个参数是日期和时间格式说明符。转换为日期格式的优点是您可以独立选择月份、日期或时间。有关指令和 strptime()
的更多信息,请参阅 Python strptime()
- 字符串转为 datetime
对象。
2. time 模块的使用:Python 函数 strftime()
在日期时间和时间模块中找到,并根据给定的格式字符串构建字符串表示。
# -*- coding:UTF-8 -*-
# __author__ = 'yiibai.com'
import time
def convert(datetime_str):
datetime_str = time.mktime(datetime_str)
format = "%b %d %Y %r" # The format
dateTime = time.strftime(format, time.gmtime(datetime_str))
return dateTime
date_time = (2025, 5, 5, 10, 7, 00, 1, 48, 0)
print(convert(date_time))
运行结果:
May 05 2025 02:07:00 AM
3. dateutil模块的使用: dateutil是第三方模块。dateutil
模块支持以任意字符串格式解析日期。此模块提供有关当前世界时区的内部信息。dateutil 2.0 发布了解析器函数,并适用于 Python 3。可以使用 parse()
将字符串转换为日期时间格式。唯一使用的参数是字符串。
示例 1: 在这里给出了 python 中 dateutil
模块的示例 -
from dateutil import parser
date_time = parser.parse("May 05 2025 07:59PM")
print(date_time)
print(type(date_time))
运行结果:
# -*- coding:UTF-8 -*-
# __author__ = 'yiibai.com'
from dateutil import parser
date_time = parser.parse("May 05 2025 08:19PM")
print(date_time)
print(type(date_time))
运行结果:
2025-05-05 20:19:00
<class 'datetime.datetime'>