時間工具類
public class DateUtils {
/**
* 擷取目前時間("yyyy-MM-dd")
* @return yyyy-MM-dd
*/
public static String getTime(){
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String time = simpleDateFormat.format(date);
return time;
}
/**
* 比較兩個時間(string:"yyyy-MM-dd")大小
* @param date1
* @param date2
* @return 傳回大于0:date1>date2;傳回0:date1=date2;傳回小于0:date1<date2
* @throws ParseException
*/
public static int compareTime(String date1,String date2) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date time1 = simpleDateFormat.parse(date1);
Date time2 = simpleDateFormat.parse(date2);
return date1.compareTo(date2);
}
/**
* 擷取指定月份最後一天日期(傳回值:"yyyy-MM-dd")
* 參數:"yyyy-MM"
*/
public static String getLastDate(String date) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, Integer.parseInt(date.substring(0,4)));
calendar.set(Calendar.MONTH, Integer.parseInt(date.substring(5))-1);
calendar.set(Calendar.DAY_OF_MONTH,1);
calendar.roll(Calendar.DAY_OF_MONTH,-1);
String lastDate = simpleDateFormat.format(calendar.getTime());
return lastDate;
}
/**
* 擷取兩個日期相差天數
* @param date1"yyyy-MM-dd"
* @param date2"yyyy-MM-dd"
* @return String
*/
public static String diffDate(String date1,String date2) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long time1 = format.parse(date1).getTime();
long time2 = format.parse(date2).getTime();
long diffDate = (time2-time1)/1000/60/60/24;
return String.valueOf(Math.abs(diffDate));
}
/**
* 擷取時間相關資料
* @param date"yyyy-MM-dd"
* @param i
* @return String
*/
public static String getDateData(String date,int i){
String s;
LocalDate localDate = LocalDate.of(Integer.parseInt(date.substring(0,4)),Integer.parseInt(date.substring(5,7)),Integer.parseInt(date.substring(8)));
switch (i){
case 1:
s = String.valueOf(localDate.getYear()); //這一年
break;
case 2:
s = String.valueOf(localDate.getMonth()); //這個月
break;
case 3:
s = String.valueOf(localDate.getDayOfMonth()); //這個月的第幾天
break;
case 4:
s = String.valueOf(localDate.getDayOfWeek()); //這個周的第幾天
break;
case 5:
s = String.valueOf(localDate.lengthOfMonth()); //這個月多少天
break;
case 6:
s = String.valueOf(localDate.isLeapYear()); //是否是閏年
break;
default:
System.out.println("暫無你要的方法");
return null;
}
return s;
}
}