ValueError:时间数据与格式不匹配,可选毫秒

时间:2019-05-29 19:18:00

标签: python datetime

我有一个骇人听闻的解决方案,但感觉完全不对。我只是在比较日期(一个我开始转换的字符串开始),而我的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两次,那么答案是吗?

0 个答案:

没有答案