Java 如何检查期间(月)之间的2个日期
我有两个日期(Java 如何检查期间(月)之间的2个日期,java,date,Java,Date,我有两个日期(开始日期,结束日期)为yyyy-MM-dd格式,我想检查是否在12月1日到3月31日之间的月份,然后做些什么。例如,我的start_日期是2015-12-01或2016-02-01和end_日期2016-02-12,然后写一些东西。 我有这个 public void meethod(){ DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date startDate = null; Date en
开始日期
,结束日期
)为yyyy-MM-dd格式,我想检查是否在12月1日到3月31日之间的月份,然后做些什么。例如,我的start_日期
是2015-12-01或2016-02-01和end_日期
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\u start\u date
和tf\u end\u date
是一个文本字段,文本字段的值如2015-02-03首先,您可能应该使用日历
而不是日期
。首先,您需要使用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
类似