作者:韩信子@ShowMeAI教程地址:http://www.showmeai.tech/tuto...本文地址:http://www.showmeai.tech/article-detail/90免责声明:版权所有,转载请联系平台和作者并注明出处Python日期时间在Python的开发过程中,我们经常要和时间类型的数据打交道。Python内置了time、datetime等标准库来帮助我们理解时间,本节我们将围绕这两个标准库详细介绍常用方法。1.时间模块在Python中,时间模块主要用于将时间戳转换为具体的日期和时间,但是表示日期和时间的时间模块对象结构简单,不适合复杂的操作和表示。(1)模块使用时间时间模块中只有一个time.struct_time类:struct_time是一个结构化的时间对象,由秒数转换得到,年、月、日、时、分、分等属性第二个对象可以通过下标或属性名获得。调用gmtime()、localtime()、strptime()等方法获取struct_time实例。>>>st=time.localtime()>>>sttime.struct_time(tm_year=2021,tm_mon=10,tm_mday=27,tm_hour=19,tm_min=27,tm_sec=31,tm_wday=2,tm_yday=300,tm_isdst=0)>>>st.tm_mon10>>>st[1]10#struct_time和string之间的转换>>>time.strftime('%H:%M:%S')'19:10:37'>>>time.strptime("30Nov00","%d%b%y")time.struct_time(tm_year=2000,tm_mon=11,tm_mday=30,tm_hour=0,tm_min=0,tm_sec=0,tm_wday=3、tm_yday=335,tm_isdst=-1)导入时间#格式为2021-10-2719:56:36print(time.strftime("%Y-%m-%d%H:%M:%S",time.localtime()))#格式为SatMar2822:24:242016print(time.strftime("%a%b%d%H:%M:%S%Y",time.localtime()))#将格式字符串转换为时间戳a="WedOct2719:56:362021"print(time.mktime(time.strptime(a,"%a%b%d%H:%M:%S%Y")))2.datetime模块datetime模块支持日期和时间操作,它提供了一些操作日期和时间的类。该模块的大部分功能都是围绕以下4个类(以及另外两个与时区相关的类)的方法和属性实现的。(1)日期类及用法日期类表示日期类型。支持的运算符:支持==、≤、<、≥、>等与另一个日期对象的比较运算。支持对timedelta对象进行加减运算,结果仍然是一个date对象。支持与另一个日期对象相减得到timedelta对象。支持哈希。代码示例:#传入日期对应的年月日参数,实例化日期类>>>fromdatetimeimportdate>>>date(2021,10,29)datetime.date(2021,10,29)#可以通过时间戳获取时间>>>date.fromtimestamp(time.time())datetime.date(2021,10,29)>>>d2=date(2021,10,29)>>>d1=date(2021,10,27)>>>d2>d1True>>>d2-d1datetime.timedelta(days=2)(2)时间类和用法时间类表示时间的类型(小时、分钟和第二)。支持的运算符支持==、≤、<、≥、>与另一个时间对象的比较操作。支持哈希。代码示例>>>fromdatetimeimporttime>>>t=time.fromisoformat('19:32:10')>>>t.strftime('%Hh%Mm%Ss')'19h32m10s'>>>t=time(hour=19,minute=27,second=55)>>>t.isoformat()'19:27:55'(3)datetime类及用法datetime类表示时间类型,包括日期和小时,可以看作是日期和时间实例的组合,它同时拥有这两个对象的大部分方法和属性。支持的运算符datetime支持与date进行相等比较,但结果必须为False,否则只支持与另一个datetime对象进行==,≤,<,≥,>等比较操作。支持timedelta加法,结果为datetime;支持对timedelta对象进行加减运算,结果仍然是一个datetime对象,可以用另一个datetime对象减去一个timedelta对象。还支持哈希。代码示例>>>fromdatetimeimportdatetime>>>datetime(year=2021,month=10,day=29)datetime.datetime(2021,10,29,0,0)>>>datetime.now()datetime.datetime(2021,10,29,14,51,18,731235)>>>datetime.fromisoformat('2021-10-2916:09:32')datetime.datetime(2021,10,29,16,9,32)>>>dt=datetime.now()>>>dt.timestamp()1635317544.682565>>>dt.date()datetime.date(2021,10,29)(4)timedeltatimedelta类对象代表两个datetime对象之间的区别。支持的运算符只支持与另一个timedelta进行比较,如==、≤、<、≥、>等比较操作。timedelta对象支持加减运算,对datetime进行加减,timedelta仍然返回datetime。timedelta还支持乘法、除法和模除法等运算符。支持哈希。timedelta已签名并支持abs()函数,该函数返回两个日期时间之间的绝对间隔。代码示例>>>fromdatetimeimporttimedelta>>>timedelta(days=2)datetime.timedelta(days=2)>>>dt1=datetime.now()>>>dt2=datetime.now()>>>dt2-dt1datetime.timedelta(seconds=4,microseconds=476390)>>>d=timedelta(minutes=3,seconds=35)>>>d.total_seconds()215.0数据及代码下载本教程系列代码可对应到ShowMeAI可以在github上下载,在本地python环境下运行即可。会科学上网的宝宝,也可以使用googlecolab,一键互动运行学习!本系列教程涉及的Python备忘单可在以下地址下载:Python备忘单扩展参考资料Python教程-Python3文档Python教程-廖雪峰官网ShowMeAI相关文章推荐python基本数据类型python运算符python条件控制和if语句python循环语句pythonwhile循环pythonfor循环pythonbreak语句pythoncontinue语句pythonpass语句python字符串和操作pythonlistpythontuplepython字典pythonsetpython函数python迭代器和生成器Python数据结构Python模块Python文件读写Python文件和目录操作Python错误和异常处理Python面向对象编程PythonNamespaceandScopePythonTimeandDateShowMeAI系列教程推荐图Python编程:从入门到精通系列教程图解数据分析:从入门到精通系列教程ls图解AI数学基础:从入门到大师系列教程图解大数据技术:从入门到大师系列教程
