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

Python中的时间和日期处理函数详解

发布时间:2023-06-15 08:31:14

Python中有许多内置函数可以帮助我们处理时间和日期,包括datetime、time、calendar等模块,下面我们来一一介绍。

datetime模块

datetime模块是Python中最常用的处理日期和时间的模块,其中涉及的类包括datetime、date、time、timedelta等。

1. datetime类

datetime类表示的是一个日期时间的组合,它可以支持各种时间计算、比较等操作。

from datetime import datetime

# 获取当前日期时间
now = datetime.now()
print(now) # 2019-10-23 20:13:00.471207

# 日期时间格式化
print(now.strftime('%Y-%m-%d %H:%M:%S')) # 2019-10-23 20:13:00
print(now.strftime('%Y-%m-%d %I:%M:%S %p')) # 2019-10-23 08:13:00 PM

# 日期时间计算
from datetime import timedelta

delta = timedelta(days=1)
print(now + delta) # 2019-10-24 20:13:00.471207

# 日期时间比较
print(now > datetime(2019, 10, 23, 20, 12, 0)) # True

2. date类

date类表示的是一个日期,它可以支持日期比较、格式化等操作。

from datetime import date

# 获取当前日期
today = date.today()
print(today) # 2019-10-23

# 日期格式化
print(today.strftime('%Y-%m-%d')) # 2019-10-23

# 日期比较
print(today > date(2019, 10, 22)) # True

3. time类

time类表示的是一个时间,它可以支持时间比较、格式化等操作。

from datetime import time

# 获取当前时间
now = time.now()
print(now) # 20:20:30.638773

# 时间格式化
print(now.strftime('%H:%M:%S')) # 20:20:30

# 时间比较
print(now > time(20, 19, 0)) # True

4. timedelta类

timedelta类表示的是两个日期时间之间的时间差,它可以支持时间差的计算等操作。

from datetime import timedelta

# 时间差计算
delta = timedelta(days=1, hours=10)
print(delta) # 1 day, 10:00:00

# 时间差值计算
from datetime import datetime

xmas_day = datetime(2019, 12, 25)
days_left = xmas_day - datetime.now()
print(days_left.days) # 62

time模块

time模块也可以用来处理时间,它提供了一些和时间有关的函数。

import time

# 获取当前时间戳(距离1970年1月1日零点的秒数)
print(int(time.time())) # 1571836343

# 格式化时间
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1571836343))) # 2019-10-23 20:45:43

# 延时
time.sleep(2) # 程序暂停2秒

calendar模块

calendar模块用于处理和输出日历,它提供了一些和日期有关的函数。

import calendar

# 获取某个月的日历(以星期日为一周的第一天)
print(calendar.month(2019, 10))

# 判断某一年是否是闰年
print(calendar.isleap(2020)) # True

# 获取某个月的天数
print(calendar.monthrange(2019, 2)) # (4, 28)(2月份第一天是星期四,共28天)

以上就是Python中常用的关于时间和日期处理的函数,掌握它们可以为我们的开发提供很大的便利。