datetime是Python中与时间处理相关的库。掌握它可以让你在处理时序数据时更加得心应手。掌握起来也不难,只要你能清楚地分辨时间段和时间点的概念。
一个小时、一周、一个月……是时间段,在 datetime 库中对应着 timedelta 对象;
2022年11月15日15时5分30秒……是时间点,对应 date、time、datetime对象 ;
理解一个概念,四个对象就已经学会一半啦!真棒!
timedelta类表示时间段,区别于时间点。在datetime中,创建时间段timedelta很简单,根据参数的时间单位填数字就可以,一般是正负整数,也支持浮点数:
from datetime import timedelta
datetime.timedelta(days=0,
seconds=0,
microseconds=0, # 微秒
milliseconds=0, # 毫秒
minutes=0,
hours=0,
weeks=0)
# 1秒 = 1,000毫秒 = 1,000,000微秒
作为时间段,自然可以进行加减乘除的运算。但时间段与时间段不能相乘,时间段和整数(浮点数)不能相加减。
问:一小时乘一小时是什么玩意……一小时加整数1又是什么玩意……
常用操作 | 结果 |
---|---|
delta1 ± delta2 | datetime.timedelta() |
delta1 / delta2 |
float 或 int |
delta * int 或 delta * float | datetime.timedelta() |
delta / int 或 delta / float | datetime.timedelta() |
date类就是“×年×月×日”的日期。可以理解为时间点。
from datetime import date, time, datetime
# 创建date对象
_date = datetime.date(year=2022, month=11, day=15)
# 创建time对象
_time = datetime.time(hour=19, minute=30, second=0, microsecond=0)
# 创建datetime对象
_datetime = datetime.datetime(year, month, day,
hour=0, minute=0, second=0, microsecond=0)
时间点与时间点之间可以相减得到时间段timedelta,但不能相加、相乘、相除;时间点与时间段之间可以相加减得到新的时间点;时间点与时间点之间可以相比较大小(早晚):datetime.date()
常用操作 | 结果 |
---|---|
point1 - point2 | datetime.timedelta() |
point ± delta | new_point |
point1 < point2 | True 或 False |
最后,推荐一个学习Python的工具,让你只用浏览器就能练习代码。链接JupyterLite