比较python中包含日期的字符串

时间:2017-09-25 20:04:34

标签: python string datetime

我理解通过某些运算符比较两个字符串,例如==,!=,>,<等等.python使用引擎盖下字符串的ASCII值。

我的问题是,比较日期的ASCII值而不是将对象转换为python中的日期时间对象是否安全?

例如,u'2017-01-01'> u'2016-12-01'=真

3 个答案:

答案 0 :(得分:2)

2016-12-01(年份+零填充月份+零填充日期),您选择了一种格式,其中词典顺序与时间顺序相同。

最重要的数据是第一个(年份),然后是月份和日期。由于该属性,较早的日期不可能在另一个日期之后发生(零填充在这里非常重要)

因此,在这种情况下,按字典顺序进行比较是安全的。

答案 1 :(得分:1)

以该特定格式,是的。更一般地说,任何较大单位首先出现的格式(例如几个月前的数字)以及左边用零填充的数字总是相同的长度是安全的。

答案 2 :(得分:0)

您可以使用一些棘手的方法,例如:

date1 = u'2017-01-01'
date2 = u'2016-12-01'

int(date1.replace('-','')) > int(date2.replace('-',''))

<强>注意

  

您必须使用指令%d作为零填充十进制数字。   和%m for Month作为零填充十进制数。