You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python新手求助:将数字30041986格式化为DD/MM/YYYY格式的出生日期

解决数字转DD/MM/YYYY格式出生日期的问题

首先直接说结论:你想用strftime("%m/%d/%y")实现需求是不行的,原因有两个:

  • 这个格式串的顺序是「月/日/两位年份」,和你要的「日/月/四位年份」(DD/MM/YYYY)完全不符,会得到错误的顺序和年份格式;
  • strftime是Python中datetime对象的方法,你现在的输入是数字30041986,得先把它转换成datetime对象,才能用strftime格式化。

正确的做法分三步:

  1. 把数字转换成8位字符串,保证格式是DDMMYYYY;
  2. 用strptime把字符串解析成datetime对象;
  3. 用strftime以"%d/%m/%Y"格式输出。

完整代码示例:

from datetime import datetime

# 处理输入的数字
birth_number = 30041986
birth_str = str(birth_number)

# 解析为日期对象
birth_date = datetime.strptime(birth_str, "%d%m%Y")

# 格式化为目标格式
formatted_birthdate = birth_date.strftime("%d/%m/%Y")
print(formatted_birthdate)  # 输出结果:30/04/1986

简单解释一下格式符:

  • %d:两位数字的日期(比如30)
  • %m:两位数字的月份(比如04)
  • %Y:四位数字的年份(比如1986)
  • strptime里的"%d%m%Y"对应你输入的数字顺序「日-月-年」,用来告诉Python怎么解析你的字符串。

内容的提问来源于stack exchange,提问作者ARW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:10:46