每天一个 Python 库:datetime 模块全攻略,时间操作太丝滑!
off999 2025-05-03 16:01 38 浏览 0 评论
在日常开发中,时间处理是绕不开的一块,比如:
- 生成时间戳
- 比较两个时间差
- 转换为可读格式
- 接口传参/前端展示/日志记录
今天我们就用一个案例 + 代码 + 思维导图,带你完全搞定 datetime 模块的用法!
模块介绍
datetime 是 Python 标准库中专门用于处理日期和时间的模块,功能强大且易上手,核心组件:
- datetime: 日期 + 时间
- date: 只有日期
- time: 只有时间
- timedelta: 用于计算差值
快速上手示例
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime
now = datetime.now()
print(f"当前时间:{now}")必会操作一网打尽
字符串 <-> datetime 互转
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime
# 字符串 -> datetime
dt = datetime.strptime("2025-04-17 10:21:34", "%Y-%m-%d %H:%M:%S")
# datetime -> 字符串
str_time = dt.strftime("%Y年%m月%d日 %H:%M:%S")
print(f"字符串 -> datetime:{dt}")
print(f"datetime -> 字符串:{str_time}")
加减时间差(timedelta)
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime, timedelta
now = datetime.now()
three_days_later = now + timedelta(days=3)
yesterday = now - timedelta(days=1)
print(f"3天后:{three_days_later}")
print(f"昨天:{yesterday}")
比较两个时间差
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime, timedelta
dt1 = datetime(2025, 4, 17, 10, 0, 0)
dt2 = datetime(2025, 4, 17, 12, 30, 0)
diff = dt2 - dt1
print(f"时差(h):{diff}")
print(f"时差(s):{diff.total_seconds()}")
时间戳 <-> datetime 互转(重点!)
1 datetime → 时间戳
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime, timedelta
now = datetime.now()
ts = now.timestamp()
print(f"时间:{now}")
print(f"时间戳:{ts}")
2 时间戳 → datetime
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime, timedelta
ts = 1713339784.123456
now = datetime.fromtimestamp(ts)
print(f"时间戳:{ts}")
print(f"时间:{now}")
3 时间戳 → 字符串
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime, timedelta
ts = 1713339784.123456
now = datetime.fromtimestamp(ts)
str_now = datetime.fromtimestamp(ts).strftime("%Y-%m-%d %H:%M:%S")
print(f"时间戳:{ts}")
print(f"时间:{now},类型{type(now)}")
print(f"字符串:{str_now},类型{type(str_now)}")
4 字符串 → 时间戳
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime
str_now = "2025-04-17 10:23:04"
dt = datetime.strptime(str_now, "%Y-%m-%d %H:%M:%S")
print(f"字符串:{str_now},类型{type(str_now)}")
print(f"时间戳:{dt.timestamp()}")
思维导图:时间格式转换大全
建议收藏这张思维图,实用性爆棚!
拓展小技巧(提高效率)
格式化为日期(不带时分秒):
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime
print(f"格式化为日期(不带时分秒):{datetime.now().date()}")
获取星期几(0=周一):
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime
print(f"获取星期几(0=周一):{datetime.now().weekday()}")
获取 ISO 格式时间:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D9.py
@Date :2025/4/18 09:51
@Author : malijie
"""
from datetime import datetime
print(f"获取 ISO 格式时间:{datetime.now().isoformat()}")
小结
操作 | 方法名 |
当前时间 | datetime.now() |
字符串 → 时间 | strptime() |
时间 → 字符串 | strftime() |
加减时间 | timedelta |
转时间戳 | timestamp() |
时间戳转时间 | fromtimestamp() |
实战建议
建议封装成一个工具类,方便随时调用
接口传参时统一用时间戳,展示时再格式化
与 pandas 配合时超强大(后续专讲)
下期预告:每天一个 Python 库:json 模块超实用技巧,数据处理一把梭!
点关注不迷路,不错过每一期实战技巧!后续还有更多自动化测试经验分享~评论区欢迎唠嗑交流!
点头像,发现更多精彩内容!
相关推荐
- 免费主题壁纸大全(免费主题壁纸大全下载图片怎么删除不了)
-
在oppo手机的主题商店里面下载免费的主题都是可以更换锁屏壁纸的只要我们在oppo主题商店里面搜索免费主题,然后下载主题之后再应用主题的时候,我们选择锁屏壁纸,这样我们在应用的时候,下载的免费主题,...
- 励销云一年收费标准(励销云官网)
-
励销云成立于2014年,位于陆家嘴软件园,经过多年的发展,公司已经达到600多人的规模,并完成了B+轮融资(腾讯);励销云通过人工智能(AI)、大数据等新一代技术,提供从“找客—筛客—管客”的一体化...
- 向日葵视频(向日葵视频色板安卓下载app)
-
1.登录向日葵客户端后,在菜单的设置中勾选“开启屏幕录像”;勾选成功后,当有远程控制时,所有的电脑操作记录、聊天记录、上网记录等都会被录制下来,并储存在相应的目录下。2.如果想要查看屏幕录像,只需点...
- iso镜像文件下载(iso镜像文件下载后打不开)
-
vmwareiso镜像文件可以从VMware官网下载。具体的下载步骤如下:1.打开VMware官网,进入产品下载页面。2.在产品下载页面,选择需要下载的VMware产品,比如VMwareWork...
- iso镜像文件能直接安装吗(iso镜像文件安装工具)
-
不能。1、iso和gho文件都不是可执行文件,不能直接安装,需要用其它程序打开。iso文件是光盘镜像文件,一般需要专用工具软件才能操作,比如UltraISO、WinISO、DaemonTools等,...
- 大智慧股票行情网(大智慧股票价格行情)
-
股票之间有横线是设置改变的问题,你可以找到系统维护工具将它恢复到刚安装状态.至于股票数量不足,你可以输入67沪深A股涨幅榜看一下所有的股票是多少只,有1800以上就没有问题,如果不足那就软件出了问题,...
-
- adobe animate(Adobe Animate怎么读)
-
图形透明度可以点击新增调节,在滤镜的工具栏中找到新增调节点击,里面有亮度对比,饱和度向右滑动就能看见12种调节功能,选择并拖动小圆点,能更加精细地调节画面效果。参考对比如黑金+80。亮度_15,对比+10,饱和+10,光感+5,锐化+50,...
-
2026-01-27 06:03 off999
- 360系统重装大师(360可以重装系统吗)
-
1、360系统重装大师很好用。但是也有缺点。2、360系统重装大师,附在360安全软件中,安装快捷,运行方便。3、缺点(1)只能进入桌面后使用,如果系统无法进入桌面,则不能使用。(2)暂时只能安装原来...
- 输入qq号就能看空间(输入qq号就能看空间的网站)
-
1、点击进入QQ,在QQ界面选择[动态];2、找到[好友动态]并点击进入;3、在好友动态的左上角部位有个自己头像的圆圈,点击进入即可;还有另外一种方法即:;1、进入QQ界面把界面往右划;2、点击左上角...
- 大智慧股票交易软件(大智慧股票交易软件下载)
-
大智慧可以绑定的券商有很多,比如有:渤海证券,长城证券,国瑞证券,财达证券,德邦证券,大通证券,东吴证券,国盛证券,华安证券,华宝证券,华龙证券,华融证券,万和证券,湘财证券,英大证券,中邮证券等等。...
- 电子印章在线生成(电子印章在线生成网站)
-
1、绘制外框先打开我们的Word文档,然后选择【插入】-【形状】-【椭圆】,在空白文档处绘制圆形外框,按住【Shift】就可以绘制正圆,绘制完成后选择【填充】-【无填充】,【轮廓】-【红色】,将线条粗...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
linux软件(linux软件图标)
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
