300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 图解 Python 编程(27) | 时间和日期(附要点速查表·完结)

图解 Python 编程(27) | 时间和日期(附要点速查表·完结)

时间:2020-05-09 16:55:26

相关推荐

图解 Python 编程(27) | 时间和日期(附要点速查表·完结)

作者:韩信子@ShowMeAI教程地址:https://www.showmeai.tech/tutorials/56本文地址:https://www.showmeai.tech/article-detail/90声明:版权所有,转载请联系平台与作者并注明出处收藏ShowMeAI查看更多精彩内容

Python日期与时间

在Python的开发过程中,我们经常要处理时间类型的数据,Python内置了timedatetime等标准库,帮助我们对时间型进行处理,在本节内容中,我们将围绕这两个标准库,详细展开介绍常用方法。

1.time模块

在Python中,time模块主要用于将时间戳转换为具体的日期时间,但time模块表示日期时间的对象结构简单,不适合进行复杂的操作和表示。

(1)模块用法

time模块中只有time.struct_time一个类:

struct_time是一个转换秒数得到的结构化的时间对象,可以通过下标或属性名称获取对象的年月日时分秒等属性。调用gmtime()localtime()strptime()等方法可得到struct_time实例。

>>> st = time.localtime()>>> sttime.struct_time(tm_year=, 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和字符串之间进行转换>>> time.strftime('%H:%M:%S')'19:10:37'>>> time.strptime("30 Nov 00", "%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)

import time# 格式化成-10-27 19:56:36形式print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))# 格式化成Sat Mar 28 22:24:24 形式print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))# 将格式字符串转换为时间戳a = "Wed Oct 27 19:56:36 "print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))

2.datetime模块

datetime模块支持日期和时间的运算,它提供了一些用于操作日期和时间的类。该模块的绝大部分功能都围绕着以下 4 个类(以及另外两个关于时区的类)的方法和属性来实现。

(1)date类及用法

date类表示日期类型。

支持的操作符

支持与另一date对象进行==<>等比较操作。支持与timedelta对象进行加减操作,结果依然为date对象。支持与另一date对象进行相减操作,得到timedelta对象。支持哈希。

代码示例

# 传入日期对应的年月日参数,实例化date类>>> from datetime import date>>> date(, 10, 29)datetime.date(, 10, 29)# 可以通过时间戳获得时间>>> date.fromtimestamp(time.time())datetime.date(, 10, 29)>>> d2 = date(, 10, 29)>>> d1 = date(, 10, 27)>>> d2 > d1True>>> d2 - d1datetime.timedelta(days=2)

(2)time类及用法

time类表示时间(时分秒)类型。

支持的操作符

支持与另一time对象进行==<>等比较操作。支持哈希。

代码示例

>>> from datetime import time>>> t = time.fromisoformat('19:32:10')>>> t.strftime('%Hh %Mm %Ss')'19h 32m 10s'>>> t = time(hour=19, minute=27, second=55)>>> t.isoformat()'19:27:55'

(3)datetime类及用法

datetime类表示包含日期时分的时间类型,可以视作datetime实例的组合体,因此同时具备了两种对象的大部分方法和属性。

支持的操作符

datetime支持与date进行相等比较,但结果一定为False,除此之外只支持与另一datetime对象执行==<>等比较操作。支持与timedelta相加,结果为datetime;支持与timedelta对象进行加减,结果依然为datetime对象,与另一datetime对象进行相减,得到timedelta对象。同样支持哈希。

代码示例

>>> from datetime import datetime>>> datetime(year=, month=10, day=29)datetime.datetime(, 10, 29, 0, 0)>>> datetime.now()datetime.datetime(, 10, 29, 14, 51, 18, 731235)>>> datetime.fromisoformat('-10-29 16:09:32')datetime.datetime(, 10, 29, 16, 9, 32)>>> dt = datetime.now()>>> dt.timestamp()1635317544.682565>>> dt.date()datetime.date(, 10, 29)

(4)timedelta

timedelta类对象表示两个datetime对象之间的差异。

支持的操作符

只支持与另一timedelta进行比较,进行==<>等比较操作。

timedelta对象支持支持加减操作,datetimetimedelta相加或相减仍然返回datetime

timedelta还支持乘除模除等操作符。

支持哈希。

timedelta是有符号的,支持abs()函数,可返回两个datetime之间的绝对间隔。

代码示例

>>> from datetime import timedelta>>> 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

下载Python要点速查表

Awesome cheatsheets |ShowMeAI速查表大全系列包含『编程语言』『AI技能知识』『数据科学工具库』『AI垂直领域工具库』四个板块,追平到工具库当前最新版本,并跑通了所有代码。点击官网GitHub获取~

👇Python 速查表(部分)

拓展参考资料

Python教程 - Python3文档Python教程 - 廖雪峰的官方网站

ShowMeAI图解Python编程系列推荐(要点速查版)

ShowMeAI 图解 Python 编程(1) | 介绍ShowMeAI 图解 Python 编程(2) | 安装与环境配置ShowMeAI 图解 Python 编程(3) | 基础语法ShowMeAI 图解 Python 编程(4) | 基础数据类型ShowMeAI 图解 Python 编程(5) | 运算符ShowMeAI 图解 Python 编程(6) | 条件控制与if语句ShowMeAI 图解 Python 编程(7) | 循环语句ShowMeAI 图解 Python 编程(8) | while循环ShowMeAI 图解 Python 编程(9) | for循环ShowMeAI 图解 Python 编程(10) | break语句ShowMeAI 图解 Python 编程(11) | continue语句ShowMeAI 图解 Python 编程(12) | pass语句ShowMeAI 图解 Python 编程(13) | 字符串及操作ShowMeAI 图解 Python 编程(14) | 列表ShowMeAI 图解 Python 编程(15) | 元组ShowMeAI 图解 Python 编程(16) | 字典ShowMeAI 图解 Python 编程(17) | 集合ShowMeAI 图解 Python 编程(18) | 函数ShowMeAI 图解 Python 编程(19) | 迭代器与生成器ShowMeAI 图解 Python 编程(20) | 数据结构ShowMeAI 图解 Python 编程(21) | 模块ShowMeAI 图解 Python 编程(22) | 文件读写ShowMeAI 图解 Python 编程(23) | 文件与目录操作ShowMeAI 图解 Python 编程(24) | 错误与异常处理ShowMeAI 图解 Python 编程(25) | 面向对象编程ShowMeAI 图解 Python 编程(26) | 命名空间与作用域ShowMeAI 图解 Python 编程(27) | 时间和日期

ShowMeAI系列教程精选推荐

大厂技术实现:推荐与广告计算解决方案大厂技术实现:计算机视觉解决方案大厂技术实现:自然语言处理行业解决方案图解Python编程:从入门到精通系列教程图解数据分析:从入门到精通系列教程图解AI数学基础:从入门到精通系列教程图解大数据技术:从入门到精通系列教程图解机器学习算法:从入门到精通系列教程机器学习实战:手把手教你玩转机器学习系列深度学习教程:吴恩达专项课程 · 全套笔记解读自然语言处理教程:斯坦福CS224n课程 · 课程带学与全套笔记解读深度学习与计算机视觉教程:斯坦福CS231n · 全套笔记解读

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。