我有一个骇人听闻的解决方案,但感觉完全不对。我只是在比较日期(一个我开始转换的字符串开始),而我的start_date
有时包含毫秒。我正在运行这个:
from datetime import datetime
def main():
start_date = "2019-05-22 20:00:02.1231"
try:
start_date = datetime.strptime(start_date, '%Y-%m-%d %H:%M:%S.%f')
print("i have milliseconds")
except:
start_date = datetime.strptime(start_date, '%Y-%m-%d %H:%M:%S')
print("no milliseconds")
if start_date < datetime.now():
print("yipee")
if __name__ == "__main__":
main()
也有可能没有秒,所以我可以:
start_date = "2019-05-22 20:00"
我可以添加另一个try
,但我想我只是缺少一个简单的解决方案。我发现了这一点:python strptime format with optional bits建议使用try
,因此在这种情况下我将使用try
两次,那么答案是吗?