下面是详细讲解时间字符串转换成日期对象datetime的方法的攻略:
1. 在Python中如何创建datetime对象
在Python中,我们可以使用内置模块datetime创建日期和时间类型的对象。使用datetime模块需要先进行导入,比如:
import datetime
datetime模块提供了datetime类,可以通过该类创建日期时间对象。该类的构造函数使用年、月、日、时、分、秒等参数来构造datetime对象,具体格式如下:
datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)
datetime类中各属性的含义如下:
- year:表示年份,必须是整数类型。
- month:表示月份,必须是整数类型,范围为1~12。
- day:表示日期,必须是整数类型,范围为1~31。
- hour:表示小时数,必须是整数类型,范围为0~23。
- minute:表示分钟数,必须是整数类型,范围为0~59。
- second:表示秒数,必须是整数类型,范围为0~59。
- microsecond:表示微秒数,必须是整数类型,范围为0~999999。
例一:
下面展示了如何通过datetime类创建日期和时间类型对象。
import datetime
# 当前时间
now = datetime.datetime.now()
print(now)
# 创建指定时间的datetime对象
dt = datetime.datetime(2021, 10, 1, 12, 30, 0)
print(dt)
输出结果为:
2021-10-20 14:44:16.316125
2021-10-01 12:30:00
2. 时间字符串转换成日期对象datetime的方法
我们可以通过datetime中的strptime()方法将时间字符串转换为日期对象datetime。strptime()方法需要两个参数:时间字符串和时间字符串对应的格式码。
下面是strptime()方法中常用的几个格式码:
格式码 | 说明 | 例子 |
---|---|---|
%Y | 年份,4位数 | 2021 |
%y | 年份,2位数 | 21 |
%m | 月份,2位数 | 10 |
%d | 天数,2位数 | 06 |
%H | 小时数,24小时格式,2位数 | 10 |
%M | 分钟数,2位数 | 30 |
%S | 秒数,2位数 | 00 |
%f | 微秒数,6位数 | 000000 |
%p | 上午或下午标识(AM或PM) | AM |
%a | 星期缩写 | Mon |
%A | 星期全称 | Monday |
%b | 月份缩写 | Jan |
%B | 月份全称 | January |
%c | 日期时间(本地版本) | 6/10/21 14:30 |
%x | 日期(本地版本) | 6/10/21 |
%X | 时间(本地版本) | 14:30:00 |
从上表中可以看出,通过指定对应的格式码,我们可以将时间字符串转换成datetime类型对象。下面是一些具体的示例:
例二:
转换时间字符串"2021-10-06 10:30:00"为datetime对象:
import datetime
# 时间字符串
time_str = "2021-10-06 10:30:00"
# 格式化格式
format_str = '%Y-%m-%d %H:%M:%S'
# 时间字符串转为datetime对象
dt = datetime.datetime.strptime(time_str, format_str)
print(dt)
输出结果为:
2021-10-06 10:30:00
例三:
转换时间字符串"06/10/21 10:30 AM"为datetime对象:
import datetime
# 时间字符串
time_str = "06/10/21 10:30 AM"
# 格式化格式
format_str = '%d/%m/%y %I:%M %p'
# 时间字符串转为datetime对象
dt = datetime.datetime.strptime(time_str, format_str)
print(dt)
输出结果为:
2021-10-06 10:30:00
通过上述两个示例,我们可以看到如何使用strptime()方法将时间字符串转换成datetime对象。使用前需要先导入datetime模块,使用strptime()方法需要指定对应的格式码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:时间字符串转换成日期对象datetime的方法 - Python技术站