有没有一个相当于C#的DateTime.TryParse()的Python?
  在Python中是否有与C#的DateTime.TryParse()等价的东西? 
编辑:
我指的是它避免抛出异常,而不是猜测格式。
如果你不想要这个异常,赶上例外。
try:
    d = datetime.datetime.strptime(s, "%Y-%m-%d %H:%M:%S")
except ValueError:
    d = None
  在Python的禅宗中,显式比隐式更好。  strptime 总是返回以指定的确切格式解析的日期时间。  这是有道理的,因为你必须定义失败时的行为,也许你真正想要的是。 
except ValueError:
    d = datetime.datetime.now()
要么
except ValueError:
    d = datetime.datetime.fromtimestamp(0)
要么
except ValueError:
    raise WebFramework.ServerError(404, "Invalid date")
通过明确说明,下一个读取故障转移行为的人就很清楚,并且这正是您所需要的。
或者您可能确信日期不能无效,它来自数据库DATETIME,列,在这种情况下,不会发生异常,所以不要捕捉它。
不,你要求的不是惯用的Python,所以通常不会有像标准库那样的丢弃错误的函数。 相关的标准库模块记录在此处:
http://docs.python.org/library/datetime.html
http://docs.python.org/library/time.html
解析函数都会在无效输入时引发异常。
然而,正如其他答案所指出的那样,为您的应用程序构建一个应用程序并不是很难(您的问题在Python中被表述为“在Python标准库中”而不是“在Python标准库中”),所以不清楚是否有人撰写这样的函数“在Python中”是否回答这个问题)。
这是一个等效的功能实现
import datetime
def try_strptime(s, format):
    """
    @param s the string to parse
    @param format the format to attempt parsing of the given string
    @return the parsed datetime or None on failure to parse 
    @see datetime.datetime.strptime
    """
    try:
        date = datetime.datetime.strptime(s, format)
    except ValueError:
        date = None
    return date
上一篇: Is there a Python equivalent to C#'s DateTime.TryParse()?
