解析时如何让strptime选择使用小数秒?我正在寻找一种简洁的方法来解析%Y%m%d-%H:%M:%S.%f
和%Y%m%d-%H:%M:%S
。
使用%f我发现错误:
ValueError: time data '20130807-13:42:07' does not match format '%Y%m%d-%H:%M:%S.%f'
答案 0 :(得分:2)
t = t.rsplit('.', 1)[0]
time.strptime('%Y%m%d-%H:%M:%S.%f', t)
或者只是确保添加小数:
if not '.' in t:
t += '.0'
time.strptime('%Y%m%d-%H:%M:%S.%f', t)
这应该这样做。
答案 1 :(得分:2)
尝试这样的事情:
import time
def timeFormatCheck(input):
try:
output = time.strptime(input, '%Y%m%d-%H:%M:%S.%f') #or you could even return
except ValueError:
output = time.strptime(input,'%Y%m%d-%H:%M:%S') #or you could even return
return output
或者如果你想要一个布尔值,试试这个:
import time
def isDecimal(input):
try:
time.strptime(input, '%Y%m%d-%H:%M:%S.%f')
return True
except ValueError:
return False