Skip to main content
 首页 » 编程设计

python之python strptime的自定义格式指令

2025年05月04日19me-sa

我必须通过 time.strptime 接收一个表示日期的字符串,其格式类似于 %d%m%Y 但问题是当天数小于 10 时,天将显示为一位数,而不是 %d 格式要求的两位数。

也就是说

'8052012' 

将被翻译为

day 08, month 05, year 2012 

但是用字符串

'2052012' 

strptime 给了我

day 20, month 5, year 2012 

代替

day 2, month 5, year 2012 

是否有解决此默认行为的方法? (也许强制 %m 应该是一个 2 位数字,这样 strptime 将无法选择使用当天剩下的内容?)

编辑:请注意,在输入字符串中,月份总是有两位数字,即使它可以用一个数字表示。这里的问题只是可能用一位或两位数字表示的日期,具体取决于大小...

请您参考如下方法:

您对这些数据的了解比 time.strptime 从格式字符串中了解的更多。

当日期字符串的长度为 7 时,通过在前面加上 '0' 来消除歧义。