python中的datetime函数的作用与使用方法

  • Post category:Python

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。