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),会将第二个参数转化为字符串时间。若未提供第二个参数,将会返回当前时间的字符串时间。

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对象。

python中time模块和datetime模块相关推荐

  1. 二十六、深入Python中的time和datetime模块

    @Author: Runsen time和datetime是Python处理日期和时间的标准库.在我们项目的实际开发当中使用率是非常高的.datetime模块有四个重要的类,date,time,dat ...

  2. python中time模块的时间戳和格式化日期_Python中的time模块与datetime模块

    time模块 time模块是包含各方面对时间操作的函数. 尽管这些常常有效但不是所有方法在任意平台中有效. time用struct_time表示时间 import time # time.struct ...

  3. Python之路(第十六篇)xml模块、datetime模块

    一.xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单, xml比较早,早期许多软件都是用xml,至今很多传统公司如金融行业的很多系统的接口还主要 ...

  4. Python中常用的数据分析工具(模块)有哪些?

    本期Python培训分享:Python中常用的数据分析工具(模块)有哪些?Python本身的数据分析功能并不强,需要安装一些第三方的扩展库来增强它的能力.我们课程用到的库包括NumPy.Pandas. ...

  5. Python中计算程序的运行时间——timeit模块

    Python中计算程序的运行时间--timeit模块 绪论 一.timeit的基本用法 1.1 timeit.timeit()函数: 创建一个Timer实例,并运行代码进行计时,默认将代码执行一百万次 ...

  6. c linux time微秒_Python时间处理模块:time模块、datetime模块及日历模块Calendar

    无论是那一个开发语言进行开发,时间的处理都是非常重要的,正确的处理时间是一个程序员开发中必备的技能,特别是对时间精度要求比较高,或者是要分清楚本地时间和服务器时间的这些业务要求,今天就来讲一讲Pyth ...

  7. Python_Task08:模块与datetime模块

    模块与datetime模块 学习教程 模块 1. 什么是模块 2. 命名空间 3. 导入模块 4. if __name__ == '__main__' 5. 搜索路径 6. 包(package) da ...

  8. python中time模块中的倒计时_Python中time模块与datetime模块在使用中的不同之处 python 的time模块获取的是什么时间...

    python的datetime模块的一些问题 time_1 = datetime.datetime.now(pytz.timezone('Asia/Shanghai')) timeimport dat ...

  9. Python中的time、datetime、calendar模块(时间模块)

    时间模块 时间间隔:是以秒为单位的浮点数 时间戳: 从1970.1.1 00:00:00 开始到指定时间的秒数 1.time模块 UTC : 格林威治天文时间,世界标准时间,在中国UTC+8 DST: ...

最新文章

  1. 大数据的两面性_大数据,多大的数据才是大数据?
  2. mac下用Dosbox搭建dos下的汇编环境
  3. 从壹开始前后端分离 40 || 完美基于AOP的接口性能分析
  4. pyqt5——菜单和工具栏
  5. 计算机网络安全应具备的功能,2016计算机专业知识:网络系统安全体系具备功能攻击方法...
  6. 24 PP配置-生产车间控制-定义工单号码范围
  7. java 内部类 作用_java内部类的作用分析
  8. php更改tittle,phpcms V9修改默认title标签
  9. 嵌入式操作系统内核原理和开发(地址空间)
  10. 我数学不好,适合做程序员吗?
  11. Mybatis的pooled连接池工作原理
  12. node.js--尝试做一个crub
  13. 实现360浏览器内核模式切换
  14. 云片网短信模版自定义变量的替换内容
  15. 1010: 求圆的周长和面积 ZZULIOJ
  16. 计算机论文专著 论文集,学习计算机方面论文参考文献 学习计算机专著类参考文献有哪些...
  17. 在带有双硬盘的Windows10系统上安装Ubuntu16.04系统
  18. Spring框架学习路线
  19. numpy python取表格的前几行前几列 某行某列
  20. 故障分析 | 数据库故障 MHA 未切换

热门文章

  1. 为什么国内互联网中大厂都酷爱造轮子?
  2. 2019. 6.14___增加CSDC的博客文章
  3. 5G科普——三大场景
  4. Hi3519内核配置USB2.0
  5. 开启 QQ 邮箱 POP3, SMTP 服务和获取服务授权码(密码)
  6. 网红大咖都在用的,视频封面怎么做?一个小工具即可解决你的烦恼
  7. python 图片合并_Python 图片合并pdf
  8. CV_8U和CV_32F与CV_8UC3和CV_32FC3区别
  9. Web程序设计基础——edu实训平台代码(1)
  10. ant java macrodef_Ant之 ZipException And Taskdef And MacroDef——“宏”