python - 是否有与 C# 的 DateTime.TryParse() 等效的 Python?

标签 python parsing datetime exception tryparse

在 Python 中是否有与 C# 的 DateTime.TryParse() 等效的方法?

我指的是它避免抛出异常的事实,而不是它猜测格式的事实。

最佳答案

如果你不想要异常,捕获异常。

try:
    d = datetime.datetime.strptime(s, "%Y-%m-%d %H:%M:%S")
except ValueError:
    d = None

在 Python 的禅宗中,显式优于隐式。 strptime always 返回以指定格式解析的日期时间。这是有道理的,因为你必须定义失败时的行为,也许你真正想要的是。

except ValueError:
    d = datetime.datetime.now()

except ValueError:
    d = datetime.datetime.fromtimestamp(0)

except ValueError:
    raise WebFramework.ServerError(404, "Invalid date")

通过明确说明,下一个阅读它的人会清楚故障转移行为是什么,这就是您需要的。


或者也许您确信日期不会无效;它来自数据库 DATETIME 列,在这种情况下不会捕获异常,因此不要捕获它。

关于python - 是否有与 C# 的 DateTime.TryParse() 等效的 Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6615533/

相关文章:

python - 寻找一种有效的方式来存储历史数据

python - 使用 SignatureDefs 将 api 端点映射到特定方法的 TensorFlow Serving 模型保存下来?

java - opencsv:如何解析单元格内带双引号的数据?

parsing - 正则表达式用于在纯文本电子邮件中查找内嵌图像

python - 在 Python 中将时区感知日期字符串转换为 UTC 并返回

mysql - 无法在 MySQL 中将字符串转换为时间

python - 无法保存在 Networkx 和 matplotlib 中制作的图形

python - 从 bash 脚本执行带有 "import requests"的 python 脚本

c# - 比较可为空的 DateTime?

java - 确定细胞分离器