没有零填充的 Python 日期时间格式

2022-01-12 00:00:00 python datetime formatting zero-pad

问题描述

是否有一种打印 Python 日期时间的格式,它不会在日期和时间上使用零填充?

Is there a format for printing Python datetimes that won't use zero-padding on dates and times?

我现在使用的格式:

mydatetime.strftime('%m/%d/%Y %I:%M%p')

结果: 02/29/2012 05:03PM
希望: 2012 年 2 月 29 日下午 5:03

Result: 02/29/2012 05:03PM
Desired: 2/29/2012 5:03PM

什么格式将月份表示为2"而不是02",时间表示为5:03PM"而不是05:03PM"

What format would represent the month as '2' instead of '02', and time as '5:03PM' instead of '05:03PM'


解决方案

datetime.strftime() 可用的格式化选项将全部填零.你当然可以滚动你自己的格式化函数,但在这种情况下最简单的解决方案可能是对 datetime.strftime() 的结果进行后处理:

The formatting options available with datetime.strftime() will all zero-pad. You could of course roll you own formatting function, but the easiest solution in this case might be to post-process the result of datetime.strftime():

s = mydatetime.strftime('%m/%d/%Y %I:%M%p').lstrip("0").replace(" 0", " ")

相关文章