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中常用的关于时间和日期处理的函数,掌握它们可以为我们的开发提供很大的便利。
