我有這個編程練習,它尋找重疊的日期範圍。Java重疊日期
到目前爲止,這是我做了什麼:
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("MMM dd, yyyy");
private static final Date invalidDate = new Date(0);
private static final Date fromString(String spec) {
try {
return dateFormat.parse(spec);
} catch(ParseException dfe) {
return invalidDate;
}
}
public static void main(String[] args) {
Date [] randomDates = {
fromString("Aug 28, 2014"),
fromString("Sep 1, 2014"),
fromString("Aug 30, 2014"),
fromString("Sep 3, 2014"),
fromString("Sep 5, 2014"),
fromString("Sep 7, 2014")
};
for(Date date: randomDates) {
print(date);
}
}
private static final void print(Date date) {
if(date == invalidDate) {
System.out.println("Invalid date");
} else {
System.out.println(dateFormat.format(date));
}
}
但我似乎無法找出日期重疊。或者我仍然不知道如何找到重疊的日期。有任何想法嗎?您的幫助將得到真正的讚賞。
可能重複的[確定是否兩個日期範圍重疊](http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap) –
一種方法是獲得絕對毫秒,然後在範圍上進行數學運算。注意:絕對毫秒從1970年開始計算。 – Sid