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

Python如何将日期格式化为无前导零且保留多位数的字符串?

如何将Python日期转换为无前导零的格式(如2023-4-1)

你可以通过两种简便方法实现需求,避免错误处理多位数日期:

方法一:直接利用日期属性拼接(通用无系统差异)

直接提取日期的年、月、日属性(它们本身是整数类型),再用字符串格式化拼接,自然不会带前导零:

from datetime import date

today = date.today()
formatted_date = f"{today.year}-{today.month}-{today.day}"
print(formatted_date)  # 输出示例:2023-4-1 或 2023-10-20

方法二:使用strftime格式化(注意系统差异)

利用strftime的特定格式符,不同系统写法略有区别:

  • Linux/macOS 或 Python 3.6+:用%-m和%-d表示无前导零的月、日
  • Windows 系统:用%#m和%#d

代码示例:

from datetime import date

today = date.today()
# 适用于Linux/macOS
formatted_date = today.strftime("%Y-%-m-%-d")
# 适用于Windows请替换为下面一行
# formatted_date = today.strftime("%Y-%#m-%#d")
print(formatted_date)

两种方法都能精准处理单、多位数的月和日,不会出现把2023-10-20错误修改的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:18:09