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