有时候需要对传入的两个时间的年和月份进行比较,根据大小结果进行操作。下面直接写一个自己用到java 比较的方法:
package com.shopping.test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.*;public class Test {/** * 将传入的日期的年月得到一个值 * @param date 日期 * @return 获取一个唯一的年月数值 */ public static int getYearMonth(Date date){ //传入日期 Calendar calder = Calendar.getInstance(); calder.setTime(date);//设置时间 int year = calder.get(Calendar.YEAR);//获取年份 int month=calder.get(Calendar.MONTH);//获取月份 //返回年份乘以100加上月份的值,因为月份最多2位数, // 所以年份乘以100可以获取一个唯一的年月数值 return year*100+month; } public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM"); String startDay = "2019-08-01"; Date date; try { date = df.parse(startDay); }catch (ParseException e){ e.printStackTrace(); date=new Date(); } int dateOne= getYearMonth(date); int dateTwo = getYearMonth(new Date()); if(dateOne==dateTwo){ //年月相等 System.out.println("两个日期的年月相等"); }else if(dateOne>dateTwo){ //dateOne比dateTwo晚 System.out.println("dateOne比dateTwo的年月晚"); }else{ //dateOne比dateTwo早 System.out.println("dateOne比dateTwo的年月早"); }}