java时间操作比较技巧
通用做法——使用Calendar类
Date sdate =now();
Calendar cal = Calendar.getInstance();
cal.setTime(sDate);
cal.add(Calendar.YEAR, 1); //增加一年
cal.add(Calendar.MONTH, 6); //增加半年
cal.add(Calendar.MONTH, 3); //增加一个季度
cal.add(Calendar.MONTH, 1); //增加一个月
cal.add(Calendar.DAY_OF_WEEK, 1); //增加一个星期(7天)
cal.add(Calendar.DATE, 3); //增加3天
cal.add(Calendar.DATE, 1); //增加一天
其他做法——以增加一天为例
Date now = new Date();
System.out.println("now:" + now);
//方法一:使用Date构造函数
Date date = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 1);//1000毫米*60秒*60分钟*24小时*1天
System.out.println("date:" + date);
//方法二:使用Calendar的add方法
Calendar c = Calendar.getInstance();
c.setTime(now);
c.add(Calendar.DATE, 1);
System.out.println("c:" + c.getTime());
//方法三:使用org.apache.commons.lang3.time.DateUtils工具类的addDays方法
Date date2 = DateUtils.addDays(now, 1);
System.out.println("date2:" + date2);
//方法四:使用java8 LocalDate的plusDays方法
LocalDate tomorrow = LocalDate.now().plusDays(1);
System.out.println("tomorrow:" + tomorrow);
public static void main1(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String stringTime = "2021-09-17 16:13:32";
String stringTime2 = "2021-08-17 16:13:32";
Date date = format.parse(stringTime);
Date date2 = format.parse(stringTime2);
System.out.println("time大于time2:" + (date.after(date2)));
}
public static void main(String[] args) {
LocalDateTime time1 = LocalDateTime.now();
LocalDateTime time2 = LocalDateTime.of(2021,9,17,16,33,12);
System.out.println("time大于time2:" + (time1.isAfter(time2)));
}

浙公网安备 33010602011771号