Python中的时间处理模块及其函数
Python 中有一个内置的 datetime 模块,用于处理时间和日期。这个模块包含了许多关于时间操作的函数和类,可以很方便地实现对时间的处理。
1. date 类
date 类表示一个日期,包含年、月、日这三个属性。可以通过以下方式创建一个 date 对象:
import datetime d = datetime.date(2021, 7, 1) # 创建一个 date 对象,表示2021年7月1日
可以通过 date 对象的属性获取年、月、日信息,例如:
print(d.year) # 输出 2021 print(d.month) # 输出 7 print(d.day) # 输出 1
2. time 类
time 类表示一个时间,包含时、分、秒、毫秒这四个属性。可以通过以下方式创建一个 time 对象:
t = datetime.time(12, 30, 45, 500) # 创建一个 time 对象,表示12:30:45.000500
可以通过 time 对象的属性获取时、分、秒、毫秒信息,例如:
print(t.hour) # 输出 12 print(t.minute) # 输出 30 print(t.second) # 输出 45 print(t.microsecond) # 输出 500
3. datetime 类
datetime 类表示一个日期和时间的组合,在 date 和 time 类的基础上添加了对时间的支持。可以通过以下方式创建一个 datetime 对象:
dt = datetime.datetime(2021, 7, 1, 12, 30, 45, 500) # 创建一个 datetime 对象,表示2021年7月1日12:30:45.000500
可以通过 datetime 对象的属性获取日期和时间相关信息,例如:
print(dt.year) # 输出 2021 print(dt.month) # 输出 7 print(dt.day) # 输出 1 print(dt.hour) # 输出 12 print(dt.minute) # 输出 30 print(dt.second) # 输出 45 print(dt.microsecond) # 输出 500
4. timedelta 类
timedelta 类表示时间间隔。可以通过以下方式创建一个 timedelta 对象:
td = datetime.timedelta(days=1, hours=2, minutes=30) # 创建一个 timedelta 对象,表示1天2小时30分钟
timedelta 对象的属性和方法:
- days:获取时间间隔的天数;
- seconds:获取时间间隔的秒数(不包含天数);
- total_seconds:获取时间间隔的总秒数;
- days、seconds、microseconds:获取时间间隔的天、秒、微秒数,可以通过这些属性进行拆分;
- __neg__、__add__、__sub__:实现取反、加法、减法操作。
5. strftime 和 strptime 函数
strftime 函数将 datetime 类型格式化为字符串,而 strptime 函数将字符串转化为 datetime 类型。例如:
dt = datetime.datetime(2021, 7, 1, 12, 30, 45, 500)
str_time = dt.strftime('%Y-%m-%d %H:%M:%S.%f') # 将 datetime 对象格式化为字符串
print(str_time) # 输出 '2021-07-01 12:30:45.500000'
str_time = '2021-07-01 12:30:45.500000'
dt = datetime.datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S.%f') # 将字符串解析为 datetime 对象
print(dt) # 输出 2021-07-01 12:30:45.500000
以上就是 Python 中常用的时间处理模块及其函数。同学们在开发中一定会经常用到这些函数,可以通过使用它们来更便捷地完成时间的处理。
