java中怎么判断2个日期是否在同一个月

如题所述

import java.util.Calendar;
import java.util.Date;

public class Test {

/**
 * @param args
 */

public static void main(String[] args) {

//表示我也没什么用过日历类去处理时间,大概思路就是去判断是否同一年and是否同一月
System.out.println(equals(new Date(), new Date(new Date().getTime() + 1500000000l)));
System.out.println(equals(new Date(), new Date(new Date().getTime() + 3000000000l)));

}

public static boolean equals(Date date1, Date date2) {

Calendar calendar1 = Calendar.getInstance();
calendar1.setTime(date1);
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(date2);
int year1 = calendar1.get(Calendar.YEAR);
int year2 = calendar2.get(Calendar.YEAR);
int month1 = calendar1.get(Calendar.MONTH);
int month2 = calendar2.get(Calendar.MONTH);
System.out.println(year1 + "  " + month1);
System.out.println(year2 + "  " + month2);
return calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR) && calendar1.get(Calendar.MONTH) == calendar2.get(Calendar.MONTH);



}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-08
有一个比较笨的办法就是可以将日期转换成calendar实例,然后使用getMonth()方法进行比较就可以了。也可以先格式化,对字符串进行分割进行比较。本回答被网友采纳
第2个回答  2017-01-08
很多种办法,不用工具类的话也可以用字符串比较
相似回答