0
点赞
收藏
分享

微信扫一扫

python中time模块和datetime模块

香小蕉 2022-01-09 阅读 70

python中time模块和datetime模块

**

time总结**

一.时间的表示
1.时间戳时间
是从伦敦的1970年1月1日 0点0分0秒开始的(与北京时间相差8个小时:1980.1.1.8:0:0)
类型为float型 type(time.time()) -> <class ‘float’>
2.字符串时间
为可辨识的时间,如 2021-12-31
3.元组(struct_time)
是一个关于时间对象,也可以看成一个包含了9个元素的元组。
在这里插入图片描述
二.time模块中的常用方法
1.time.sleep(seconds) 有一个必须参数(可为int, 也可为float),单位为秒。作用:是当程序执行time.sleep时,程序将会在此处暂停相应的时间,然后继续执行程序。
2.time.time() 没有参数,将会返回一个float型的数据。作用:获取到当前时间戳时间,从伦敦的1970年1月1日 0点0分0秒开始。该方法的返回值由系统时钟提供。
3.time.strftime(format) 有一个必须参数想要获取到的字符串时间的格式(如:%Y-%m-%d)和一个可提供参数(为struct_time),会将第二个参数转化为字符串时间。若未提供第二个参数,将会返回当前时间的字符串时间。

%Y	四位数的年份(如 2020)%y	两位数的年份(如20)%m	月份%d	天数%H	24小时制的小时数%I	12小时制的小时数%M	分钟数%S	秒数%A	完整的星期名称 (如Friday)%a	简化的星期名称 (如Fri)%B	完整的月份名称  (如December)%b	简化的月份名称 (如Dec)%j	当前时间对于年内的那一天

4.time.strptime(str, format) 有两个参数,第一个参数为字符串类型的时间,第二个参数为该字符串时间的格式。作用:是将字符串时间转换成struct_time。
5.time.mktime(tulpe) 有一个必须参数,为struct_time对象或元组(元素续为int,必须具有9个元素每个元素与struct_time中的相对应)。 作用:将参数转换成时间戳时间。
6.time.gmtime(float) 有一个参数,为时间戳时间,若不提供将会默认为当前时间。作用:将时间戳时间转换成struct_time对象(伦敦时间)。
7.time.localtime(float) 与time.gmtime作用相同,但返回值为当地时间。

转换关系
在这里插入图片描述

8.time.ctime(timestamp) 有一个参数,为时间戳时间。作用:将根据参数转化成一个字符串时间。(%a %b %j %H:%M:%S %Y).
9.time.asctime(struct_time):有一个参数,为结构化时间。作用:将参数转化成一个字符串时间。(%a %b %j %H:%M:%S %Y)
转化关系
在这里插入图片描述

10.struct_time(tuple):有一个参数,为元组,(tm_year,tm_month,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_days,tm_isdst)。作用:将会根据参数返回一个struct_time对象。

三.datetime模块:

1.date类:包含了四个实例属性,_year,_month,_day,_hashcode(默认为-1)._year,_month,_day可谓int型或float型。具有三个类变量:min表示date类能表示最小时间(为0001:01:01),max表示的最大时间(为9999:12:31),resolution:为timedelta对象,表示最小时间间隔为一天。
在这里插入图片描述

类方法:
1.fromtimestamp: 有一个需要使用者传入的参数t,为时间戳时间。作用:将会根据参数转化当地时间,并返回一个time对象。由于该方法将会将会使用time模块的localtime方法。所以时间戳时间表示时间必须大于1970-1-1.
在这里插入图片描述

2.today: 没有需要使用者传入的参数。作用:将当前的时间戳时间作为参数调用fromtimestamp方法,返回一个date对象。
在这里插入图片描述

3.fromordinal: 有一个需要使用者传入的参数n,为天数。作用:将会根据参数生成一个date对象。
在这里插入图片描述

4.fromisoformat:有一个需要使用者传入的参数date_string,为str型,(格式为%Y-%m-%d),为字符串时间。作用:将会根据参数生成一个date对象。
在这里插入图片描述

实例方法
1._cmp: 有一个需要使用者传入的参数date,为 一个date对象,作用:比较参数date与调用该方法的对象的实例变量大小。相等返回0,date大将返回1,反之返回-1.
2.toordinal:没有需要使用者传入的参数。作用:将根据_year, _month, _day, 返回天数。
在这里插入图片描述

3.replace:有三个可提供参数year,month,day,(若未提供,默认为None)。作用:将会根据参数(若为None,将会使用实例变量代替),返回一个新的date对象。
在这里插入图片描述

4.weekday:没有需要使用者传入的参数。作用:将会调用toordinal方法,返回星期数(星期一为0).
5.Isoweekday: 没有需要使用者传入的参数。作用:将会调用toordinal方法,返回星期数(星期一为1)。
在这里插入图片描述

6.timetuple:没有需要使用者传入的参数。作用:将根据实例变量返回一个struct_time对象,其中tm_hour,tm_min,tm_sec,tm_isdst默认为0,0,0,-1.
在这里插入图片描述

7.isoformat:没有需要使用者传入的参数。作用:将会返回一个字符串时间(%Y-%m-%d)。
在这里插入图片描述

8.ctime:没有需要使用者传入的参数。作用:将会调用toordinal方法计算除weekday,根据参数返回一个字符串时间(%a %b %j 00:00:00 %Y).
在这里插入图片描述

9.strftime:有一个需要使用者传入的参数fmt,为字符串时间格式。作用:将会按照参数给的字符串时间格式将timetuple的返回值生成一个字符串时间。
在这里插入图片描述

装饰成属性的方法:
1.year:将会返回_year属性。
2.month:将会返回_month属性。
3.day:将会返回_day属性。
魔术方法:
1.str:将会调用isoformat方法。
2.format:有一个需要使用者传入的参数fmt,为str型,为字符串时间的格式。作用:将会按照参数和实例属性输出一个字符串时间。
3.repr:没有需要使用者传入的参数。作用:将会输出self.class.module.self.class.qualname(self._year,self._month,self._day)。
4.add:有一个需要使用者传入的参数other,为timedelta对象。作用:将会参数表示的时间差与调用该方法的对象表示的时间相加,返回一个
**2.time类:**包含了七个实例属性,_hour _minute, _second, _microsecond, _tzinfo(默认为None,为timezone类的对象),_hashcode(默认为-1),_fold(默认为0)。_hour,_minute,_second,_microsecond(可为int型或float型).具有三个类属性,min(为time对象,表示最小时间为00:00:00),max(为time对象,表示最大时间为23:59:59.999999),resolution(为timedelta对象,表示最小时间间隔为0.000001).
类方法:
1.fromisoformat:有一个需要使用者传入的参数time_string,为字符串时间(可以包含时区时差,用-或+连接,当不包含时区时差时,格式为hour:minute:second(可以不通过).(microsecond可以没有或三位小数或六位小数),当包含时区时差时,格式为td+(-)hour:minute:second(可以不提供).(microsecond可以没有或六位小数)。作用:将根据参数生成一个time对象。
在这里插入图片描述

实例方法:
1.strftime:有一个需要使用者传入的参数fmt,为字符串时间格式。作用:将根据实例变量按照参数格式输出一个字符串时间。其中year,month,day,weekday,days,isdst分别为1900,1,1,0,1,-1.
在这里插入图片描述

2.utcoffset:没有需要使用者传入参数。作用:_tzinfo如果为None,将会返回None。反之将会返回一个时区时间差的timedelta对象。
在这里插入图片描述

3.tzname:没有需要使用者传入的参数。作用:_tzinfo如果为None,将会返回None。反之将会返回时区的名称。
在这里插入图片描述

4.replace:有与实例化time类相同的参数。作用:将会根据参数生成一个新的time对象,若参数为None,将会使用相应的实例变量代替。
5._tzstr:没有需要使用者传入的参数。作用:将会调用utcoffset方法,并将其作为参数生成一个字符串时间。
6.isoformat:有一个可提供参数timespec,默认为auto。作用:将会根据参数生成一个字符串时间,若_tzinfo不为空,将会加上时区的时间差。
魔术方法:
1.str:没有需要使用者传入的参数。将会调用isoformat方法。
2.format:有一个需要使用者传入的参数fmt,为str型,为字符串时间格式。作用:将会调用strftime方法。若fmt为空字符串,将会调用__str__方法。
3.repr:没有需要使用者传入的参数。作用:将会输出self.class.module.self.class.qualname(self._hour,self._minute,self._second(若_microsecond存在,也将会输出))。
装饰成属性的方法:
1.hour:将会返回_hour属性。
2.minute:将会返回_minute属性。
3.second:将会返回_second属性。
4.microsecond:将会返回_microsecond属性。
5.tzinfo:将会返回_tzinfo属性。
6.fold:将会返回_fold属性。
**datetime类:**该类继承了date类。包含十个实例变量,_year, _month, _day, _hour,_minute,_second,_microsecond,_tzinfo(默认为None,为timezone类的对象),_hashcode(默认为-1),_fold(默认为0).包含了三个类变量,min(为一个datetime对象,表示最小时间为0001-01-01 00:00:00),max(为一个datetime对象,表示最大时间为9999-12-31 23:59:59.999999),resolution(为timedelta对象,表示最小时间差为以微秒)
在这里插入图片描述

类方法:
1._fromtimestamp:有三个需要使用者传入的参数t,utc,tz,t为时间戳时间,utc为为是否使用标准时间,(为真表示使用标准时间,为假 表示使用本地时间),tz为一个timezone对象。作用:将会根据参数返回一个datetime对象。
2.fromtimestamp:有一个需要使用者传入的参数t,为时间戳时间,一个可提供参数tz(默认为None),为一个timezone对象。作用:将会调用_fromtimestamp方法。其中utc参数由tz决定,(tz为None,utc为False,反之为True)返回一个datetime对象。
3.utcfromtimestamp:有一个需要使用者传入的参数t,为时间戳时间。作用:将会根据参数t,调用_fromtimestamp方法。其中utc默认为True,tz默认为None,将会返回标准时间的datetime对象。
4.now:有一个可提供参数tz,默认为None,为一个timezone对象。作用:将会获取到当前的时间戳时间。调用_fromtimestamp方法。若tz为None返回一个当前本地时间的datetime对象,若tz不为None,将会返回一个加上时差的datetime对象。
5.utcnow:没有需要使用这传入的参数。作用:将会获取到当前的时间戳时间,调用_fromtimestamp方法,其中utc默认为true,tz默认为None。返回一个datetime对象。
在这里插入图片描述

6.combine:由两个需要使用者传入的参数date,为date对象。Time,为time对象。和一个可提供参数tzinfo。默认为Ture。为一个timezone对象。作用:若tzinfo为Ture,则会被赋值为time对象的tzinfo。根据参数合并两个对象,生成一个新的datetime对象。
在这里插入图片描述

7.fromisoformat:有一个需要使用者传入的参数date_string,为str型,为字符串时间(格式year-month-day (由任意符号隔开),(可含有时区时差,由+或-连接)+hour:minut:second(可以不提供,当未提供时区时差时,可以为不含小数的,毫秒(三位小数),微秒(六位小数),若含有时区时差时,可以为不含小数,微秒(六位小数)))。作用:将会根据参数生成一个datetime对象。
在这里插入图片描述

8.strftime:有两个需要使用者传入的参数date_string,为datetime对象或date对象。Format,为将要输出的字符串时间格式。作用:将会根据date_string按照format的格式生成一个字符串时间。
在这里插入图片描述

实例方法:
1.timestamp:没有需要使用者传入的参数。作用:将会根据实例属性返回相应时间戳时间。
在这里插入图片描述

2.timetuple:没有需要使用者传入的参数。作用:将会根据实例属性生成一个struct_time对象。
在这里插入图片描述

3.utctimetuple:没有需要使用者传入的参数。作用:将会根据实例属性返回一个标准时间的struct_time对象。
在这里插入图片描述

4.date:没有需要使用者传入的参数。作用:将会根据实例变量_year,_month,_day返回一个date对象。
5.time:没有需要使用者传入的参数。作用:将会根据相关的实例变量(_tzinfo默认为None)生成一个time对象。
6.timetz:没有需要使用者传入的参数。作用:将会根据相关实例变量(_tzinfo存在)生成一个time对象。
7.replace:具有和实例化datetime对象一样的参数。作用:将会根据参数(若参数为None,将会使用相应的实例变量代替)生成一个新的datetime对象。
在这里插入图片描述

8.toordinal:没有需要使用者传入的参数。作用:将会根据实例属性_year,_month,_day获取到天数。
在这里插入图片描述

9.ctime:没有需要使用者传入的参数。作用:将会根据实例属性生成一个字符串时间。格式为:%a %b %j %H:%M:%S %Y。
在这里插入图片描述

  1. isoformat:有两个可提供参数sep,默认为T,为日期时间与时间之间的分隔符。Timespec,默认为auto,为将要输出second是输出形式(auto是根据_microsecond存在(则输出包含微秒,不存在则为秒),milliseconds是输出毫秒)。作用:将会根据参数和实例属性生成一个字符串时间,若tzinfo存在,将会在后面用+连接上时区时差。
    在这里插入图片描述

11.utcoffset:没有需要使用者传入的参数。作用:将会获取到时区时差(为timedelta对象),若_tzinfo为None,将会返回None。

12.tzname:没有需要使用这传入的参数。作用:将会获取到时区名称,若_tzinfo为None,将会返回None。
在这里插入图片描述

魔术方法
1.str:没有需要使用这传入的参数。作用:将会调用isoformat方法,其中sep默认为空格。
2.repr:没有需要使用这传入的参数。作用:将会生成一个self.class.module.self.class.qualname(self._year, self._month, self._day,self._hour, self._minute, self._second, self._microsecond, self.tzinfo = str(self.tzinfo)(当其存在时), self.fold = 1(当其存在时))。
3.add:有一个需要使用者传入的参数other,为timedelta对象。作用:将会将self对象和other进行相加,生成一个新的datetime对象。
4.sub:有一个需要使用者传入的参数other,为datetime对象或timedelta对象。作用:将会将self对象减去other,生成一个时间差的timedelta对象。
在这里插入图片描述

装饰成属性的方法:
1.year:将会返回_year属性。
2.month:将会返回_month属性。
3.day:将会返回_day属性。
4.hour:将会返回_hour属性。
5.minute:将会返回_minute属性。
6.second:将会返回_second属性。
7.microsecond:将会返回_microsecond属性。
8.tzinfo:将会返回_tzinfo属性。
9.fold:将会返回_fold属性。
**timedelta类:**有四个实例变量,_day, _seconds,_microseconds,_hashcode(默认为-1).
实例方法:
1.total_seconds:没有需要使用者传入的参数。作用:将会根据实例变量返回秒数。
魔术方法:
1.str:没有需要使用者传入的参数。作用:将会返回一个字符串时间。
2.add:有一个需要使用和传入的参数other,为timedelta对象。作用:将会把other和self对象表示的时间相加,生成一个新的timedelta对象。
3.sub:有一个需要使用和传入的参数other,为timedelta对象。作用:将会把self对象和other表示的时间相减,生成一个新的timedelta对象。
4.rsub:有一个需要使用和传入的参数other,为timedelta对象。作用:将会把other对象减去self对象表示的时间,生成一个新的timedelta对象。
5.abs:没有需要使用这传入的参数。作用:将会返回一个正值的对象。
6.mod:有一个需要使用和传入的参数other,为timedelta对象。作用:将会self与other相除取余,并生成一个timedelta对象。
7.divmod:有一个需要使用和传入的参数other,为timedelta对象。作用:将会返回一个元组,为self与other的商(数),余数(timedelta对象)。

装饰成属性的方法;
1.Day:将会返回_day属性。
2.seconds:将会返回_second属性。
3.microseconds:将会返回_microsecond属性。
timezone:继承了tzinfo类。有两个实例属性_offset,为一个timedelta对象,表示时区时间差。_name, 为str型,默认为object对象,表示时区名称。
实例方法:
1.utcoffset:有一个需要使用这传入的参数dt,为datetime对象或者为None。作用:将会返回_offset属性。
2.tzname:有一个需要使用这传入的参数dt,为datetime对象或者为None。作用:若_name属性存在,将会返回_name属性。若不存在,将会调用_name_from_offset方法。
3.fromutc:有一个需要使用者传入的参数dt,为datetime对象。作用:将_offset和dt相加,返回一个新的datetime对象。

举报

相关推荐

0 条评论