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)));
}
 
posted @ 2023-02-25 10:30  不如俗且趣  阅读(52)  评论(0)    收藏  举报