python3笔记二十一:时间操作datetime和calendar
一:学习内容
- datetime
- calendar
二:datetime
1.模块说明:可以理解为datetime基于time进行了封装,提供了各种使用的函数,datetime模块的接口更直接,更容易调用
2.datetime模块中的类:
datetime 同时有时间和日期
timedelta 主要用于计算时间的跨度
tzinfo 时区相关
time 只关注时间
date 只关注日期
3.获取当前时间
import datetime
d1 = datetime.datetime.now()
print(d1)
print(type(d1))
4.获取指定的时间
d2 = datetime.datetime(1991, 10, 8, 10, 28, 20, 123456)
print(d2)
5.将时间(datetime.datetime类型)转为字符串
import datetime
d1 = datetime.datetime.now()
d3 = d1.strftime("%Y-%m-%d %X")
print(d3)
print(type(d3))
6.将格式化字符串转成datetime类型
import datetime
d1 = datetime.datetime.now()
d3 = d1.strftime("%Y-%m-%d %X")
#注意:转换的格式要与字符串一致
d4 = datetime.datetime.strptime(d3, "%Y-%m-%d %X")
print(d4)
print(type(d4))
7.时间间隔
d5 = datetime.datetime(1999, 10, 1, 10, 28, 20, 123456)
d6 = datetime.datetime.now()
d7 =d6 - d5
print(d7) #7285 days, 6:23:31.611593
print(type(d7))
8.间隔的天数
d5 = datetime.datetime(1999, 10, 1, 10, 28, 20, 123456)
d6 = datetime.datetime.now()
d7 =d6 - d5
print(d7.days)
9.间隔天数除外的秒数
d5 = datetime.datetime(1999, 10, 1, 10, 28, 20, 123456)
d6 = datetime.datetime.now()
d7 =d6 - d5
print(d7) #7285 days, 6:26:52.858784
print(d7.seconds) #23212,即上面的除天数外的时间6*3600+26*60+52=23212
三:calendar
1.模块说明:日历模块,需要导入包:import calendar
2.返回指定某年某月的日历
print(calendar.month(2019,11))
3.返回指定年的日历
print(calendar.calendar(2017))
4.判断闰年,是返回True,否则返回False
print(calendar.isleap(2010))
5.返回某个月的weekday的第一天和这个月所有的天数
print(calendar.monthrange(2019,8))
6.返回某个月以每一周为元素的列表
print(calendar.monthcalendar(2019,7))