2013-12-18 54 views
0

請問我是新的java中,我跟隨了一個關於android應用程序預訂系統的教程,我想以這樣的方式驗證我的returnDate應該> = departDate。我嘗試,但它繼續顯示錯誤,我不想搞亂一切。請需要幫助請原諒我這樣一個問題:驗證兩個日期

private void setDateForLayout(Calendar c, boolean isDepartLayout) { 
    if (isDepartLayout) { 
     departYear = c.get(Calendar.YEAR); 
     departMonth = c.get(Calendar.MONTH); 
     departDate = c.get(Calendar.DAY_OF_MONTH); 
     departDay = c.get(Calendar.DAY_OF_WEEK); 

     if (departDate < 10) { 
      lblDepartDate.setText("0" + departDate); 
      lblDepartDateOneWay.setText("0" + departDate); 
     } else { 
      lblDepartDate.setText("" + departDate); 
      lblDepartDateOneWay.setText("" + departDate); 
     } 

     lblDepartDay.setText(days[departDay - 1]); 
     lblDepartDayOneWay.setText(days[departDay - 1]); 

     lblDepartMonth.setText(months[departMonth]); 
     lblDepartMonthOneWay.setText(months[departMonth]); 

    } else { 
     returnYear = c.get(Calendar.YEAR); 
     returnMonth = c.get(Calendar.MONTH); 
     returnDate = c.get(Calendar.DAY_OF_MONTH); 
     returnDay = c.get(Calendar.DAY_OF_WEEK); 

     if (returnDate < 10) { 
      lblReturnDate.setText("0" + returnDate); 
     } else { 
      lblReturnDate.setText("" + returnDate); 
     } 
     lblReturnDay.setText(days[returnDay - 1]); 
     lblReturnMonth.setText(months[returnMonth]); 
    } 
} 

private String[] getListDateBeforeAndAfter() { 
    String[] result = new String[7]; 
    for (int i = -3; i < 4; i++) { 
     GregorianCalendar calendar = new GregorianCalendar(departYear, 
       departMonth, departDate); 
     calendar.add(Calendar.DAY_OF_MONTH, i); 

     result[i + 3] = calendar.get(Calendar.DATE) + "-" 
       + months[calendar.get(Calendar.MONTH)]; 
    } 
    return result; 
} 

private void setBackgroundTab(boolean tripType) { 
    if (this.tripType != tripType) { 
     this.tripType = tripType; 
     if (tripType == TripType.ROUND_TRIP) { 
      layoutSelectTabRoudTrip.setVisibility(View.VISIBLE); 
      layoutSelectTabOneWay.setVisibility(View.GONE); 
     } else { 
      layoutSelectTabRoudTrip.setVisibility(View.GONE); 
      layoutSelectTabOneWay.setVisibility(View.VISIBLE); 
     } 
    } 
} 

回答

0

Joda-Time 2.3具有用於前後測試方法。

// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so. 
// import org.joda.time.*; 

DateTimeZone parisTimeZone = DateTimeZone.forID("Europe/Paris"); 

DateTime januaryDateTime = new DateTime(2013, 1, 2, 3, 4, 5, parisTimeZone); 
DateTime decemberDateTime = new DateTime(2013, 12, 13, 14, 15, 16, parisTimeZone); 

Boolean isDecemberAfterJanuary = decemberDateTime.isAfter(januaryDateTime); 
Boolean isDecemberBeforeJanuary = decemberDateTime.isBefore(januaryDateTime); 

System.out.println("isDecemberAfterJanuary: " + isDecemberAfterJanuary); 
System.out.println("isDecemberBeforeJanuary: " + isDecemberBeforeJanuary); 

運行時...

isDecemberAfterJanuary: true 
isDecemberBeforeJanuary: false