欢迎访问宙启技术站
智能推送

Python中的时间处理模块及其函数

发布时间:2023-06-22 01:12:07

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:获取时间间隔的总秒数;

- dayssecondsmicroseconds:获取时间间隔的天、秒、微秒数,可以通过这些属性进行拆分;

- __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 中常用的时间处理模块及其函数。同学们在开发中一定会经常用到这些函数,可以通过使用它们来更便捷地完成时间的处理。