2013-09-27 26 views
0

我有以下日期格式:DateFormat df = new SimpleDateFormat("EEEEE, LLLL d"); 及以下字符串數組:如何比較日期格式的字符串數組

String[] Days = { 
     "Tuesday, January 1", 
     "Monday, January 21", 
     "Sunday, February 10", 
     "Tuesday, February 12", 
     "Wednesday, February 13", 
     "Monday, February 18", 
     "Sunday, February 24", 
     "Tuesday, March 26", 
     "Wednesday, March 27", 
     "Thursday, March 28", 
     "Friday, March 29", 
     "Monday, April 1", 
     "Tuesday, April 2", 
     "Thursday, May 2", 
     "Friday, May 3", 
     "Thursday, May 9", 
     "Wednesday, May 15", 
     "Thursday, May 16", 
     "Monday, May 27", 
     "Thursday, July 4", 
     "Wednesday, August 7", 
     "Thursday, August 8", 
     "Friday, August 9", 
     "Thursday, August 15", 
     "Monday, September 2", 
     "Thursday, September 5", 
     "Friday, September 6", 
     "Saturday, September 14", 
     "Thursday, September 19", 
     "Friday, September 20", 
     "Thursday, September 26", 
     "Friday, September 27", 
     "Monday, October 14", 
     "Tuesday, October 15", 
     "Wednesday, October 16", 
     "Thursday, October 17", 
     "Friday, November 1", 
     "Sunday, November 3", 
     "Tuesday, November 5", 
     "Monday, November 11", 
     "Thursday, November 28", 
     "Sunday, December 8", 
     "Wednesday, December 25" 
}; 

我如何做一個比較讓我們說df = Friday, September 27將它作爲真正的字符串Days的值爲「陣列中的星期五,9月27日」。

我做了以下內容,但我的小部件FC:

for (int j=0; j<=suspendedDates.length;j++) { 
     if (df.format(new Date()) == suspendedDates[j]) { 
      views.setTextViewText(R.id.tvParkStatus, "Parking Suspended"); 
     } 
     else { 
      views.setTextViewText(R.id.tvParkStatus, "Parking Not Suspended"); 
     } 
    } 
+2

所以,做你想做的事對一個平等的比較其中一個數組元素還是您想查看String數組是否包含給定日期? – kwikness

+0

第二個選項,遍歷整個String數組,查看日期是否在那裏列出。 – Si8

+1

爲什麼你有一個日期字符串數組?如果它不太麻煩,我可以使用內置的Date類或使用像Joda-Time(http:// www .joda.org /喬達時間/)。 – StockB

回答

1

這應該開了竅:

DateFormat df = new SimpleDateFormat("EEEE, MMMM d", Locale.US); 
System.out.println(Arrays.asList(Days).contains(df.format(Calendar.getInstance(Locale.US).getTime()))); 

輸出:

+1

這個伎倆......謝謝! – Si8

1

不知道爲什麼你需要一個DateFormatter因爲它看起來像你有一個字符串和字符串數組作爲輸入。只是檢查字符串:

Arrays.asList(Days).contains("Friday, September 27"); 
+1

我upvoted你的答案,所以你得分:)感謝您的幫助。 – Si8