时间工具类
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;
}
}