孤荷凌寒自学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模块及初识datetime.date模块的更多相关文章
- 孤荷凌寒自学python第七十七天开始写Python的第一个爬虫7
孤荷凌寒自学python第七十七天开始写Python的第一个爬虫7 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 今天的学习仍然是在纯粹对docx模 ...
- 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块
孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...
- 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数
孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...
- 孤荷凌寒自学python第十七天初识Python的函数
孤荷凌寒自学python第十七天初识Python的函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 函数是能够完成指定运算并返回运算结果的代码块.是结构化编程重要的结构. 我首先发现pyt ...
- 孤荷凌寒自学python第五十七天初次尝试使用python来连接远端MongoDb数据库
孤荷凌寒自学python第五十七天初次尝试使用python来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第三天.感觉这个东西学习起来还是那么困 ...
- 孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化
孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.什么是序列化与反序列化 序列化是指将内存中的数据进行指 ...
- 孤荷凌寒自学python第二十九天python的datetime.time模块
孤荷凌寒自学python第二十九天python的datetime.time模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) datetime.time模块是专门用来表示纯时间部分的类. ...
- 孤荷凌寒自学python第二十八天python的datetime.date模块
孤荷凌寒自学python第二十八天python的datetime.date模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.toordinal() 此方法将访问从公元1年1月1日至当 ...
- 孤荷凌寒自学python第二十六天python的time模块的相关方法
孤荷凌寒自学python第二十六天python的time模块的相关方法 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 要使用time模块的相关方法,必须在文件顶端引用: import tim ...
随机推荐
- 如何不安装SQLite让程序可以正常使用
System.Data.SQLite.dll和System.Data.SQLite.Linq.dll不必在GAC里面,关键在于Machine.config的DBProviderFactories没有正 ...
- Spring 远程调用工具类RestTemplateUtils
Spring 远程调用Rest服务工具类,包含Get.Post.Put.Delete四种调用方式. 依赖jar <dependency> <groupId>org.spring ...
- Git笔记(pull/push)
一.从远程服务器上获取分支 git pull <远程主机名> <远程分支>:<本地分支> 例如 git pull origin master:loacal_bran ...
- JQuery基础原理 与实例 验证表单 省市联动 文本框判空 单选 复选 判空 下拉判空 确认密码判等
JQuery 基础原理 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- 深入浅出:了解JavaScript的ES6、ES7新特性
参照阮一峰博客:http://es6.ruanyifeng.com/#README es6常见题:https://blog.csdn.net/qq_39207948/article/details/8 ...
- 利用deadline_timer实现定时器Timer
// 类似QTimer的定时器 class Timer { typedef void(* handler)(); public: Timer() : m_millseconds() , m_timer ...
- MySQL工作经验
以下是根据工作中遇到各种场景用到的一些Mysql用法,比较实用,基本是语法之外的一些东西. 修改账户密码 1.打开Mysql控制台,输入原密码: 2.输入以下语法:mysql> set pass ...
- 继续分享shell 之变量使用
变量类型 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 2) 环境变量 所有的程序,包括 ...
- PXE+DHCP+TFTP+Cobbler 无人值守安装centos 7
Cobbler(补鞋匠)是通过将DHCP.TFTP.DNS.HTTP等服务进行集成,创建一个中央管理节点,其可以实现的功能有配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电 ...
- Tomcat+jdk 环境处理 java jsp代码编写web环境的容器
Tomcat是由 Apache 软件基金会下属的 Jakarta 项目开发的一个Servlet 容器,按照 SunMicrosystems 提供的技术规范,实现了对 Servlet 和 JavaSer ...