比较python中包含日期的字符串
我理解通过==,!=,>,等运算符比较两个字符串时,u'2016-12-01'=True对于比较python中包含日期的字符串,python,string,datetime,Python,String,Datetime,我理解通过==,!=,>,等运算符比较两个字符串时,u'2016-12-01'=True对于2016-12-01(年+零填充月+零填充日),您选择了一种格式,其中字典顺序与时间顺序相同 最重要的数据首先是(年),然后是月份和日期。由于该属性,不可能在另一个日期之后出现较早的日期(此处的零填充非常重要) 因此,在这种情况下,按字典顺序进行比较是安全的。与2016-12-01(年+零填充月+零填充日)相比,您选择了一种格式,其中字典顺序与时间顺序相同 最重要的数据首先是(年),然后是月份和日期。由于
2016-12-01
(年+零填充月+零填充日),您选择了一种格式,其中字典顺序与时间顺序相同
最重要的数据首先是(年),然后是月份和日期。由于该属性,不可能在另一个日期之后出现较早的日期(此处的零填充非常重要)
因此,在这种情况下,按字典顺序进行比较是安全的。与
2016-12-01
(年+零填充月+零填充日)相比,您选择了一种格式,其中字典顺序与时间顺序相同
最重要的数据首先是(年),然后是月份和日期。由于该属性,不可能在另一个日期之后出现较早的日期(此处的零填充非常重要)
因此,在这种情况下,按字典进行比较是安全的。在这种特定的格式中,是的。更一般地说,任何先出现较大单位的格式(例如,月份之前的几年)以及通过在左侧填充零使数字始终保持相同长度的格式都是安全的。在该特定格式中,是的。更一般地说,任何格式都是安全的,在这种格式中,较大的单位首先出现(例如,月份之前的几年),并且通过在左侧填充零,数字的长度始终相同。您可以使用一些巧妙的方法,例如:
date1 = u'2017-01-01'
date2 = u'2016-12-01'
int(date1.replace('-','')) > int(date2.replace('-',''))
注意
您必须使用指令%d
作为月日的零填充十进制数。
月份的%m
为零填充十进制数
您可以使用一些棘手的方法,例如:
date1 = u'2017-01-01'
date2 = u'2016-12-01'
int(date1.replace('-','')) > int(date2.replace('-',''))
注意
您必须使用指令%d
作为月日的零填充十进制数。
月份的%m
为零填充十进制数
非常感谢。那么,这样比较是否安全:“2016-08-24 23:04:50”>=“2017-01-01”?其计算结果应为false。@CodyFlyn否它们的格式应相同。例如
'2017-01-01 00:00:00'谢谢。那么,这样比较是否安全:“2016-08-24 23:04:50”>=“2017-01-01”?其计算结果应为false。@CodyFlyn否它们的格式应相同。例如'2017-01-01 00:00:00'