在 DD/MM/YYYY 和 YYYY-MM-DD 之间转换日期?

新手上路,请多包涵

使用 Python 脚本,我需要读取日期格式为 DD/MM/YYYY 的 CVS 文件,并将它们转换为 YYYY-MM-DD,然后再将其保存到 SQLite 数据库中。

这几乎可行,但失败了,因为我没有提供时间:

 from datetime import datetime

lastconnection = datetime.strptime("21/12/2008", "%Y-%m-%d")

#ValueError: time data did not match format:  data=21/12/2008  fmt=%Y-%m-%d
print lastconnection

我假设 datetime 对象中有一个方法可以非常轻松地执行此转换,但我找不到如何执行此操作的示例。谢谢你。

原文由 OverTheRainbow 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 310
1 个回答

您的示例代码是错误的。这有效:

 import datetime

datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d")

对 strptime() 的调用根据第二个参数中指定的格式解析第一个参数,因此这两个参数需要匹配。然后您可以调用 strftime() 将结果格式化为所需的最终格式。

原文由 unwind 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题