我有一个访问表与'日期'字段。它有每个记录的随机日期。我已经建立了一个脚本追加的所有记录到一个列表,然后将列表设置过滤出独特的价值:如何检测Python中的日期是否连续?
dateList = []
# cursor search through each record and append all records in the date
# field to a python list
for row in rows:
dateList.append(row.getValue("DATE_OBSERVATION").strftime('%m-%d-%Y'))
# Filter unique values to a set
newList = list(set(dateList))
这将返回(在我的测试表):
[07 -06-2010','06 -24-2010','07 -05-2010','06 -25-2010']
既然我有“DATE_OBSERVATION”字段的唯一值,我想检测是否:
- 日期是单一的(即只有一个唯一的日期是r因为那是每个记录中的日期)
- 如果日期是日期范围(即,所有日期的陷入连续的范围内)
- 如果日期是多个日期,但不是在一个范围内的连续日期
任何建议,将不胜感激的! Mike
短懒惰的答复:它们转换成datetime对象,进行排序,然后他们使用'pairwise'配方从'itertools'文档页面的打击下一个日期都比较列表,看它是否是一个范围;对于单日期,取第一天的日期并检查其余所有日期是否在同一日历日内;如果这两者都失败,他们是不同的日期。 – Daenyth 2012-03-06 18:25:13
如果您不选择其他值,请使用'通过date_observation desc'从mytable命令中选择不同的date_observation,并且不要将日期转换为字符串。 – Aprillion 2012-03-06 18:40:59
@deathApril:为什么降序? – jfs 2012-03-06 18:56:45