这是更常用的一个日期时间包,基本上能解决时间序列上所有的需求。主要分成4个子模块,Date处理日期、Time处理时间、datetime日期时间、timedelta时间日期的变动。主要的功能就是我下面画的图,然后后面会把时间序列常用的时间推移写出来,求周、月、年同比环比的时候用起来很方便。
下面一个一个来↓
【date】
import datetime as dtmimport time
返回本地时间的一个date对象
dtm.date.today()Out[3]: datetime.date(2020, 9, 9)
给定一个时间戳,返回一个date对象
dtm.date.fromtimestamp(time.time())Out[4]: datetime.date(2020, 9, 9)
date对象能够表示的最大时间
dtm.date.maxOut[5]: datetime.date(9999, 12, 31)
date对象能够表示的最小时间
dtm.date.minOut[6]: datetime.date(1, 1, 1)
获取年月日
dtm.date.today().yearOut[8]: 2020dtm.date.today().monthOut[9]: 9dtm.date.today().dayOut[10]: 9
生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性
d = dtm.date.fromtimestamp(time.time())d.replace(day=15)Out[4]: datetime.date(2020, 9, 15)d.replace(month=10)Out[5]: datetime.date(2020, 10, 9)d.replace(year=2011)Out[6]: datetime.date(2011, 9, 9)d.replace(day=1,month=11,year=2011)Out[7]: datetime.date(2011, 11, 1)
d.timetuple():返回时间元组struct_time格式的日期
dtm.date.today().timetuple()Out[8]: time.struct_time(tm_year=2020, tm_mon=9, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=253, tm_isdst=-1)
d.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推
dtm.date.today().weekday()Out[9]: 2
d.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推
d.isoweekday()Out[10]: 3
d.isocalendar():返回(year,week,weekday)格式的元组;year:表示当前日期的年份;week:表示当前日期是一年中的第几周;weekday:表示当前日期是星期几;
dtm.date.today().isocalendar()Out[11]: (2020, 37, 3)
d.isoformat():返回格式如'YYYY-MM-DD'的字符串
d.isoformat()Out[12]: '2020-09-09'
d.strftime(format):传入任意格式符,可以输出任意格式的日期表示形式;
dtm.date.today().strftime("%Y{y}%m{m}%d{d}").format(y="年",m="月",d="日")Out[13]: '2020年09月09日'
【time】
创建
dtm.time(11,21,31,81)Out[14]: datetime.time(11, 21, 31, 81)
time类所能表示的最小时间</