美文网首页手写笔记学习永远无止境
孤荷凌寒自学python第二十七天python的datetime

孤荷凌寒自学python第二十七天python的datetime

作者: f9e86c58f23c | 来源:发表于2018-12-04 21:28 被阅读43次

    孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块

    (完整学习过程屏幕记录视频地址在文末,手写笔记在文末)

    一、datetime模块

    datetime模块包含以下子模块:

    (一) 表示时刻点 的模块

    datetime.date

    datetime.time

    datetime.datetime

    datetime.datetime_CAPI

    (二) 表示时间间隔(时间长度)的模块

    datetime.delta

    (三) 表示时区信息的模块

    datetime.tzinfo

    二、datetime模块表示时间的起止极限

    datetime模块能表达1-9999年的所有时间。

    有两个相关常量

    datetime.MINYEAR =1

    datetime.MAXYEAR=9999

    三、初识 datetime.date子模块

    datetime.date实例化时的初始形参有三个:年、月、日

    执行初始化即可得到一个实例化的datetime.date对象:

    测试:

    >>> import datetime

    >>> dateTemp=datetime.date(2018,10,8)

    >>> print(dateTemp)

    2018-10-08

    四、datetime.date对象的常用属性

    最常用的属性有四个:

    year 返回日期中的 年

    month 返回日期中的 月

    day 返回日期中的 日

    __getattribute__ 获取日期对象中指定的属性

    下面继续上面的测试(只有新增加的代码部分)

    >>> intY=dateTemp.year

    >>> intM=dateTemp.month

    >>> intD=dateTemp.day

    >>> print(intY,intM,intD)

    2018 10 8

    >>> intY2=dateTemp.__getattribute__('year')

    >>> print(intY2)

    2018

    五、比较两个  datetime.date对象的大小

    使用 datetime.date 对象的以下内部 方法 比较 当前datetime.date对象与另一个datetime.date对象的大小:

    测试如下:

    import datetime

    dateOne=datetime.date(2018,6,30)

    dateTwo=datetime.date(2018,7,1)

    print(dateOne.__eq__(dateTwo))  #dateOne是否等于dateTwo

    print(dateOne.__ge__(dateTwo))  #dateOne是否大于等于dateTwo

    print(dateOne.__gt__(dateTwo))  #dateOne是否大于dateTwo

    print(dateOne.__le__(dateTwo))  #dateOne是否小于等于dateTwo

    print(dateOne.__lt__(dateTwo))  #dateOne是否小于dateTwo

    print(dateOne.__ne__(dateTwo))  #dateOne是否不等于dateTwo

    以上所有方法都返回 布尔对象 True 或 False

    六、两个datetime.date对象的减法操作

    1 正向相减(当前日期对象减去后面参数的日期对象)

    x.__sub__(y) 表示x-y

    2 反向相减 (后面的参数的日期对象减去当前日期对象)

    x.__rsub__(y) 表示y-x

    执行datetime.date对象的这两个方法后,返回的是一个:

    datetime.timedelta

    对象。

    七、对datetime.date对象的国际化处理(iso标准)

    1 isocalendar()

    执行此方法 ,将返回一个元组,此元组对象有三个元素,先后顺序排列为:

    年、一年的第几周、星期几(1表示星期一)

    测试:

    >>> import datetime

    >>> a=datetime.date(2017,3,22)

    >>> tpl=a.isocalendar()

    >>> print(tpl)

    (2017, 12, 3)

    2  isoformat()   __str__()

    执行此方法,将返回国际标准的日期字符串:

    YYYY-MM-DD

    在操作系统日期环境设置为中文的情况下,__str__()方法返回结果与isoformat()方法一样。

    测试:

    >>> import datetime

    >>> d=datetime.date(2018,10,9)

    >>> strA=d.isoformat()

    >>> strB=d.__str__()

    >>> print(strA,strB)

    2018-10-09 2018-10-09

    3  isoweekday()

    执行此方法 将返回 星期几对应的数字 1-7,其中1表示星期一,7表示星期日

    继续上面的测试(以下代码只有新增的代码 部分)

    >>> intWeekDay=d.isoweekday()

    >>> print(intWeekDay)

    2

    八、datetime.date对象的其它方法

    1 weekday()

    执行此方法 将返回 星期几对应的数字 0-6 ,其中0表示星期一,6表示星期日

    2 timetuple()

    执行此方法 将把当前datetime.date对象转换成time模块中的 struct_time(标准时间元组)对象。

    但datetime.date对象中没有时间信息,那么,转换后的struct_time(标准时间元组)对象中的所有与时间相关的值都用0来填充。

    继续上面的测试(以下代码只有新增的代码 部分):

    >>> tplStruct_Time=d.timetuple()

    >>> print(tplStruct_Time)

    time.struct_time(tm_year=2018, tm_mon=10,tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=282, tm_isdst=-1)

    ——————————

    今天整理的学习笔记完成,最后例行说明下我的自学思路:

    根据过去多年我自学各种编程语言的经历,认为只有真正体验式,解决实际问题式的学习才会有真正的效果,即让学习实际发生。在2004年的时候我开始在一个乡村小学自学电脑 并学习vb6编程语言,没有学习同伴,也没有高师在上,甚至电脑都是孤岛(乡村那时还没有网络),有的只是一本旧书,在痛苦的自学摸索中,我找到适应自己零基础的学习方法:首先是每读书的一小节就作相应的手写笔记,第二步就是上机测试每一个笔记内容是否实现,其中会发现书中讲的其实有出入或错误,第三步就是在上机测试之后,将笔记改为电子版,形成最终的修订好的正确无误的学习笔记。

    通过反复尝试错误,在那个没有分享与交流的黑暗时期我摸黑学会了VB6,尔后接触了其它语言,也曾听过付费视频课程,结果发现也许自己学历果然太低,就算是零基础的入门课程,其实也难以跟上进度,讲师的教学多数出现对初学者的实际情况并不了解的情况,况且学习者的个体也存在差异呢?当然更可怕的是收费课程的价格往往是自己难以承受的。

    于是我的所有编程学习都改为了自学,继续自己的三步学习笔记法的学习之路。

    当然自学的最大问题是会走那么多的弯路,没有导师直接输入式的教学来得直接,好在网络给我们带来无限搜索的机会,大家在网络上的学习日志带给我们共享交流的机会,而QQ群等交流平台、网络社区的成立,我们可以一起自学,互相批评交流,也可以获得更有效,更自主的自学成果。

    于是我以人生已过半的年龄,决定继续我的编程自学之路,开始学习python,只希望与大家共同交流,一个人的独行是可怕的,只有一群人的共同前进才是有希望的。

    诚挚期待您的交流分享批评指点!欢迎联系我加入从零开始的自学联盟。

    这个时代互联网成为了一种基础设施的存在,于是本来在孤独学习之路上的我们变得不再孤独,因为网络就是一个新的客厅,我们时刻都可以进行沙龙活动。

    非常乐意能与大家一起交流自己自学心得和发现,更希望大家能够对我学习过程中的错误给予指点——是的,这样我就能有许多免费的高师了——这也是分享时代,社区时代带来的好福利,我相信大家会的,是吧!

    根据完全共享的精神,开源互助的理念,我的个人自学录制过程是全部按4K高清视频录制的,从手写笔记到验证手写笔记的上机操作过程全程录制,但因为4K高清文件太大均超过5G以上,所以无法上传至网络,如有需要可联系我QQ578652607对传,乐意分享。上传分享到百度网盘的只是压缩后的720P的视频。

    我的学习过程录像百度盘地址分享如下:(清晰度:1280x720)

    链接:https://pan.baidu.com/s/1sxoKKui9oqis5cPSnPam0w密码:msqa

    喜马拉雅语音笔记:

    https://www.ximalaya.com/keji/19103006/141893275

    相关文章

      网友评论

      本文标题:孤荷凌寒自学python第二十七天python的datetime

      本文链接:https://www.haomeiwen.com/subject/jetbcqtx.html