网络宝典
第二套高阶模板 · 更大气的阅读体验

用Python标准库轻松处理日期时间

发布时间:2025-12-13 16:10:47 阅读:170 次

在写程序的时候,经常会遇到要处理时间的问题。比如记录用户登录的时间、计算两个日期之间隔了多少天,或者把服务器日志里的时间戳转换成可读格式。这时候,Python自带的datetime标准就能派上大用场。

datetime基础:获取当前时间

想看现在是几点?直接用datetime.now()就行:

from datetime import datetime

now = datetime.now()
print(now)

输出类似这样:2024-04-05 15:32:18.123456,包含了年月日时分秒和微秒。

格式化时间:按自己想要的样子显示

有时候系统默认的格式不太好看,比如你想显示成“2024年4月5日 15点32分”,可以用strftime方法:

formatted = now.strftime("%Y年%m月%d日 %H点%M分")
print(formatted)

其中%Y代表四位年份,%m是月份,%d是几号,%H%M分别是小时和分钟。这些符号记一下,平时用得挺多。

解析字符串:把文本变成时间对象

日志里经常存的是字符串形式的时间,比如"2024-03-20 08:30",想对它做计算就得先转成时间对象。这时用strptime

date_str = "2024-03-20 08:30"
date_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M")
print(date_obj)

只要格式写对了,就能准确还原出时间。

计算时间差:过了几天?还剩几小时?

比如你有个任务截止时间是4月10日,想知道还有多久,可以这样做:

deadline = datetime(2024, 4, 10)
diff = deadline - now
print(f"还剩{diff.days}天")

两个datetime对象相减会得到一个timedelta对象,能直接取天数、秒数,甚至总秒数(total_seconds())。

只处理日期?试试date类型

如果只关心年月日,不关心具体时间,可以用date类:

from datetime import date
today = date.today()
yesterday = today.replace(day=today.day - 1)
print(today, yesterday)

这样更简洁,也不会被时分秒干扰。

这些操作都是Python标准库提供的,不用装第三方包,拿来就能用。日常写脚本、处理Excel时间列、分析日志,都很实用。