python中时间处理主要使用的库是
datetime
1、datetime是内置模块,不需要安装,直接使用
import datetime
2、datetime里面有五个类:
- date类:表示日期的类
- time类:表示时间的类
- datetime类:表示时间日期的类
- timedelta类:表示两个datetime对象的差值;
- tzinfo类:表示时区的相关信息
其中最常用的是datetime类,其包含了date类和time类
3、模块的使用;
datetime的简单使用
#获取当前日期
from datetime import datetime
now = datetime.now()
#获取今天
datetime.today()
#获取指定日期
datetime.date(y,m,d)
datetime.time(h,m,s)
datetime(y,m,d,h)
#输出指定格式
print('strftime():', now.strftime("%Y-%m-%d"))
timedelta的使用
from datetime import *
now = datetime.now()
y = now + timedelta(days=-1) # 昨天
m = now + timedelta(days=1) # 明天
4、使用案例:输出指定日期是星期几
# python3
#! coding=utf8
import datetime
year,month,day= 2022,3,15
weekday = ['周一','周二','周三','周四','周五','周六','周日']
i = datetime.date(year,month,day).weekday()
print(weekday[i])
i = datetime.date(year,month,day).isoweekday()
print(weekday[i-1])
wday = datetime.date(year,month,day).strftime('%a')
print(wday)
5、扩展,一个用来计算农历的库
zhdate
安装
pip install zhdate
实例:
#! python3
#! encoding=utf8
from datetime import datetime
import zhdate
'''
pip install zhdate
计算农历, 公历和农历的转换
内置1900-2100的农历数据
'''
date_now = zhdate.ZhDate.today()
print(date_now)
date_1 = zhdate.ZhDate(2022,1,1)
print(date_1)
date_2 = date_1.to_datetime()
print(date_2.date())
#计算距离端午节还有几天
zhdwj = zhdate.ZhDate(2022,5,5)
dwj = zhdwj.to_datetime()
now_day = datetime.now()
total = dwj.toordinal() - now_day.toordinal()
print(f'今天{now_day.strftime("%Y-%m-%d")}距离{zhdwj.chinese()}-端午节还有{total}天')