有時候需要對傳入的兩個時間的年和月份進行比較,根據大小結果進行操作。下面直接寫一個自己用到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的年月早"); } }