【问题标题】:Comparing two dates in different format with python用python比较不同格式的两个日期
【发布时间】:2017-05-31 14:05:05
【问题描述】:

我有 2 个日期定义为字符串。如果我知道原始日期格式,我会这样比较:

import time
date1 = "1/1/2013 12:00:00 AM" # formatted like "%m/%d/%Y %H:%M:%S %p"
date2 = "1/1/2016"             # formatted like "%m/%d/%Y"
format1 = "%m/%d/%Y %H:%M:%S %p"
format2 = "%m/%d/%Y"
if time.strptime(date1, format1) > time.strptime(date2, format2):
   pass

不知道日期格式如何比较?

【问题讨论】:

  • 您能做的最好的事情就是尝试各种格式,看看是否成功。您可以通过预先检查字符串以选择首先尝试哪些候选格式来加快该过程(而不用为那些不可能工作的格式而烦恼)。
  • 谢谢,我确实用 try - except block 编写了我自己的解决方案。

标签: python python-2.7 date


【解决方案1】:

不知道日期格式如何比较?

你不能。 每次比较都假定您知道自己在比较什么。

【讨论】:

    【解决方案2】:

    您可以尝试使用dateutil.parser.parse 解析它。此方法以一种受支持的格式解析字符串。然后比较一下。

    datautil 是第三方模块。

    【讨论】:

    • 这正是我要寻找的!
    猜你喜欢
    • 2019-10-03
    • 1970-01-01
    • 2020-08-16
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    相关资源
    最近更新 更多