我有2个日期(start_date
,end_date
)和yyyy-MM-dd格式,我想检查一下在12月01日 - 3月31日之间的那个月然后做些什么。例如,我的start_date
是2015-12-01或2016-02-01和end_date
2016-02-12然后写点东西。
我有这个
public void meethod(){
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = null;
Date endDate = null;
try {
startDate = df.parse(tf_start_date.getText());
endDate = df.parse(tf_end_date.getText());
} catch (ParseException e) {
e.printStackTrace();
}
if( /* what goes here? */ ) {
System.out.println("its between december-march");
} else {
}
}
tf_start_date
和tf_end_date
是TextField,TextFields的值类似于2015-02-03
答案 0 :(得分:2)
首先,您应该使用Calendar
而不是Date
。首先,您需要使用Calendar
:
Calendar.Builder
Calendar startCal = Calendar.Builder().setInstant(startDate);
Calendar endCal = Calendar.Builder().setInstant(endDate);
然后,您可以查看他们的月份,看看他们是否是您正在寻找的月份之一:
int startMonth = startCal.get(Calendar.MONTH);
if (startMonth == Calendar.DECEMBER ||
startMonth == Calendar.JANUARY ||
startMonth == Calendar.FEBRUARY ||
startMonth == Calendar.MARCH)
与endMonth
类似。