当前位置:首页>python>一个脚本解决一个问题 | Python 日期时间总在百度?这个速查表复制就能用

一个脚本解决一个问题 | Python 日期时间总在百度?这个速查表复制就能用

  • 2026-09-19 10:59:12
一个脚本解决一个问题 | Python 日期时间总在百度?这个速查表复制就能用
上周帮运营朋友处理一批活动数据,她每天都在干同一件事:把 20260518 这种格式的字符串转成 2026-05-18,再算距离今天过了几天。

我说你写个函数不就完了?她说:每次都要查 strftime 那个格式表,%Y 还是 %y 来着?%m 是月份还是分钟来着?查完写完,下次又忘了。

我说,那就做一个速查表,以后直接复制。


一段代码解决四个最常碰到的日期时间问题:

  • 字符串和 datetime 互转

  • 格式化输出(想显示什么样子都行)

  • 日期加减(加几天、减几个月)

  • 算两个日期之间隔了多久

全部用 Python 内置的 datetime,不用装任何库。

核心代码

from datetime import datetime, timedelta# ===== 格式速查表(背不住就对了,用的时候复制) =====# %Y=年(2026) %y=年(26) %m=月(05) %d=日(18)# %H=时(24h) %I=时(12h) %M=分 %S=秒# %A=星期全名 Monday %a=星期缩写 Mon# %B=月份全名 May %b=月份缩写 Maynow = datetime.now()# 1. 格式化:datetime → 字符串print(now.strftime("%Y-%m-%d"))           # 2026-05-18print(now.strftime("%Y年%m月%d日 %H:%M"))  # 2026年05月18日 14:30print(now.strftime("%Y%m%d"))             # 20260518print(now.strftime("%A, %B%d"))          # Monday, May 18# 2. 解析:字符串 → datetimedatetime.strptime("2026-05-18", "%Y-%m-%d")datetime.strptime("20260518", "%Y%m%d")datetime.strptime("2026/5/18 14:30", "%Y/%m/%d%H:%M")# 3. 日期加减tomorrow = now + timedelta(days=1)last_week = now - timedelta(weeks=1)next_month = now + timedelta(days=30)  # 粗略算法# 4. 算间隔delta = datetime(2026, 12, 31) - nowprint(f"离年底还有 {delta.days} 天")

使用步骤

  1. 不需要装任何库,Python 自带

  2. 复制上面的代码到一个 .py 文件

  3. 改你自己的日期字符串和格式就行

  4. 运行:python 日期速查.py

重点就两行:

  • 格式化:你的日期.strftime("你想的格式")

  • 解析:datetime.strptime(字符串, "字符串的格式")

格式符号记不住?看代码里的注释,用哪个抄哪个。

常见问题

%Y 和 %y 到底啥区别?

%Y 是四位年份(2026),%y 是两位(26)。大部分场景用 %Y,别搞混。

strptime 报错 ValueError?

格式字符串和你传进去的字符串对不上。

比如你写 "2026-5-18" 但格式写 "%Y-%m-%d"(月和日应该是两位),直接报错,月份补零:05 不是 5。

想加一个月怎么办?

timedelta 只能加天数,不能直接加月份。

用 dateutil.relativedelta 可以,但要装库。偷懒的办法:直接加 30 天,粗略够用。

想判断今天是周几?

now.weekday() 返回 0=周一,6=周日。还可以直接 now.strftime("%A") 拿英文星期名。

时区问题怎么搞?

datetime.now() 是本地时间,要 UTC 就用 datetime.utcnow()。

如果要做正经的时区转换,得装 pytz 库,但那是另一个话题了。


日期时间这东西,没人能背住所有格式符号。做一张速查表存着,比每次百度快十倍。

下一期聊个狠的:Excel里几十万行数据,怎么几秒钟找出重复的? 不是去重,是标记出来让你看看哪些是重复的。


我是鲁叶的Python,这个系列持续更新中,每篇解决一个具体小问题。

最新文章

随机文章