Java 验证两个日期

Java 验证两个日期,java,android,Java,Android,请告诉我,我是java新手,我学习了一个关于android应用程序预订系统的教程,我希望以这样一种方式进行验证,我的返回日期应该是>=离开日期。我试过了,但它一直在显示错误,我不想把一切搞砸。请原谅我的这个问题: private void setDateForLayout(Calendar c, boolean isDepartLayout) { if (isDepartLayout) { departYear = c.get(Calendar.YEAR);

请告诉我,我是java新手,我学习了一个关于android应用程序预订系统的教程,我希望以这样一种方式进行验证,我的返回日期应该是>=离开日期。我试过了,但它一直在显示错误,我不想把一切搞砸。请原谅我的这个问题:

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);
        }
    }
}
private void setDateForLayout(日历c,布尔值isDepartLayout){
if(isDepartLayout){
departYear=c.get(日历年);
departMonth=c.get(日历月);
出发日期=c.get(日历日期/月份);
departDay=c.get(日历,一周中的一天);
如果(出发日期<10){
lblDepartDate.setText(“0”+离开日期);
lblDepartDateOneWay.setText(“0”+离开日期);
}否则{
lblDepartDate.setText(“+departDate”);
lblDepartDateOneWay.setText(“+departDate”);
}
lblDepartDay.setText(天[departDay-1]);
lblDepartDayOneWay.setText(天[departDay-1]);
lblDepartMonth.setText(月[月]);
lblDepartMonthOneWay.setText(月[月]);
}否则{
returnYear=c.get(日历年);
returnMonth=c.get(日历月);
returnDate=c.get(日历日期为每月的第天);
returnDay=c.get(日历,一周中的一天);
如果(返回日期<10){
lblReturnDate.setText(“0”+返回日期);
}否则{
lblReturnDate.setText(“+returnDate”);
}
lblReturnDay.setText(天[returnDay-1]);
lblReturnMonth.setText(月[returnMonth]);
}
}
私有字符串[]getListDateBeforeAndAfter()的{
字符串[]结果=新字符串[7];
for(int i=-3;i<4;i++){
公历=新的公历年,
出发月份、出发日期);
calendar.add(calendar.DAY\u OF\u MONTH,i);
结果[i+3]=calendar.get(calendar.DATE)+“-”
+月份[日历.获取(日历.月份)];
}
返回结果;
}
私有void setBackgroundTab(布尔tripType){
if(this.tripType!=tripType){
this.tripType=tripType;
if(tripType==tripType.往返行程){
layoutSelectTabRoudTrip.setVisibility(View.VISIBLE);
layoutSelectTabOneWay.setVisibility(View.GONE);
}否则{
layoutSelectTabRoudTrip.setVisibility(View.GONE);
layoutSelectTabOneWay.setVisibility(View.VISIBLE);
}
}
}

使用
日历
对象的
after
功能

2.3有测试前后的方法

/©2013巴西尔布尔克。此源代码可以由任何对此承担全部责任的人自由使用。
//导入org.joda.time.*;
DateTimeZone parisTimeZone=DateTimeZone.forID(“欧洲/巴黎”);
DateTime januaryDateTime=新的日期时间(2013年1月2日3月4日5日巴黎时间);
DateTime decemberDateTime=新的日期时间(2013、12、13、14、15、16、parisTimeZone);
布尔值IsDecemberRafterJanuary=decemberDateTime.isAfter(januaryDateTime);
布尔值isDecemberBeforeJanuary=decemberDateTime.isBefore(januaryDateTime);
System.out.println(“IsDecemberRafterJanuary:+IsDecemberRafterJanuary”);
System.out.println(“IsDecemberBefore一月:+IsDecemberBefore一月);
当运行时

IsDecemberRafterJanuary:true
IsDecemberbfore一月:假