Python的datetime模块提供了处理日期和时间的类和函数。下面是该模块的几个主要的类:
-
date:表示一个公历日期(年、月、日)。
-
time:表示当天的一刻时间(时、分、秒、毫秒等)。
-
datetime:是以上两者的组合,包含了日期和时间信息。
-
timedelta:表示两个日期、时间、日期时间之间的差值(如相差几天、几小时、几分钟、几秒等)。
下面讲解几个datetime模块的常用方法,以及代码实例说明:
获取当前时间
from datetime import datetime
now = datetime.now()
print(now)
输出结果:
2021-11-28 13:12:52.864043
时间格式化
from datetime import datetime
now = datetime.now()
time_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(time_str)
输出结果:
2021-11-28 13:19:20
在strftime函数中,我们可以设置各种格式的字符串来格式化时间,其中常用的格式如下:
-
%Y:年份(4位数字)
-
%m:月份(两位数字,不够补零)
-
%d:日期(两位数字,不够补零)
-
%H:小时(24小时制,两位数字,不够补零)
-
%M:分钟(两位数字,不够补零)
-
%S:秒钟(两位数字,不够补零)
时间加减
from datetime import datetime, timedelta
now = datetime.now()
after_10_days = now + timedelta(days=10)
before_2_hours = now - timedelta(hours=2)
print(after_10_days)
print(before_2_hours)
输出结果:
2021-12-08 13:29:20.426255
2021-11-28 11:29:20.426255
上述代码中使用了timedelta函数来进行日期时间的加减。timedelta参数如下:
-
days:天数
-
hours:小时数
-
minutes:分钟数
-
seconds:秒数
-
microseconds:毫秒数
最后,需要注意的是,在处理时区和夏令时方面,datetime模块还有许多复杂的操作和应用,但是本文只做简要介绍。对于更复杂的时间处理,可以使用第三方库pytz或dateutil。