我必须通过 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' 来消除歧义。
