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
相关产品推荐
相关产品推荐

