我有一個訪問表與'日期'字段。它有每個記錄的隨機日期。我已經建立了一個腳本追加的所有記錄到一個列表,然後將列表設置過濾出獨特的價值:如何檢測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