我理解通过某些运算符比较两个字符串,例如==,!=,>,<等等.python使用引擎盖下字符串的ASCII值。
我的问题是,比较日期的ASCII值而不是将对象转换为python中的日期时间对象是否安全?
例如,u'2017-01-01'> u'2016-12-01'=真
答案 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作为零填充十进制数。