我正在寻找一个strptime文档。它只指定它可以读取带有零填充字符串的格式化时间,例如'01:00pm'。是否有一种方法,我可以读一个时间像'1:00am'使用strptime函数?
您可以使用相同的格式字符串来读取像&;1:00 am &;它没有被0填充。这在技术细节部分的注释(9)中提到:
当与strptime()方法一起使用时,对于%d、%m、%H、%I、%m、%S、%j、%U、%W和%V格式,前导零是可选的。格式%y不需要一个前导零。
假设您只想填充小时,则可以使用常规字符串函数填充时间。
time_string = '1:00am'
# Splits the string where ':' is
time_string_split = time_string.split(':')
# Uses a ternary operator to check the hour digits then pads accordingly
time_string_split[0] = '0' + time_string_split[0] if len(time_string_split[0]) < 2 else time_string_split[0]
# Joins it together again with a ':'
time_string = ':'.join(time_string_split)
print(time_string) # '01:00am'
或者更简单的方法
time_string = '1:00am'
time_string_split = time_string.split(':')
if len(time_string_split[0]) < 2:
time_string_split[0] = '0' + time_string_split[0]
time_string = ':'.join(time_string_split)
print(time_string) # '01:00am'
希望这对你有帮助!