本文作者:胡 婧
文字编辑:杨慧琳
技术总编:张学人
好消息!!!爬虫俱乐部将于2019年7月5日至7月8日在武汉举行首期Python编程技术定制培训。本次培训采用理论与案例相结合的方式,旨在帮助零基础学员轻松入门Python,由浅入深学习和掌握Python爬虫技术,并明确未来更进一步的学习方向。
详细培训大纲及报名方式,请点击文末阅读原文呦~
Python中用于处理日期和时间的模块包括time、datetime和calendar。在之前的推文中《Python之time模块详解》详细的介绍了time模块的相关内容,即主要处理的是时间类数据,例如时、分、秒等相关信息。今天小编将为大家介绍datetime模块的基本用法。datetime模块可处理时间、日期等数据,是date和time模块的集合,其总共定义6类:datetime.date、datetime.time、datetime.datetime、datetime.timedelta、datetime.tzinfo、datetime. timezone。tzinfo、timezone为时区类相关处理模块,本文不做过多讲解,而主要介绍前四类内容。
0. 前 言
在开始介绍datetime模块之前,先讲一下该模块下date、time以及datetime三个类的区别和联系。正如其表面意思一样,date是对日期进行处理,其最小的单位是天数;time是对时间进行处理,其最小的单位是微秒(一百万分之一秒);datetime则是上两个类的合集,其最小的单位是微秒,但是其必须包含日期的参数,可以省略时间的参数(省略的参数默认为0)。time不可以进行时间的加减运算,而datetime类和date类则可以结合timedelta进行时间以及日期的加减运算。当datetime省略时间的参数时,看起来和date表示出来的结果一致,实际上两者在时间加减运算时的精度不一致。具体区别,可以通过以下程序输出的结果进行比较:
import datetimea1=datetime.time(8,12,4,3)a2=datetime.time(8) #其他参数省略时默认为0a1>a2b=datetime.date(2019,6,10)print(b.toordinal())print(b.timetuple())c1=datetime.datetime(2019,6,10)c2=datetime.datetime.today()print(c1.toordinal(),c2.toordinal())print(c1.tim