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
类似