Java时间相关操作,时间增加减少以及转换

Java时间相关操作,时间增加减少以及转换

  1. 时间增加减少

            // localdatetime类型时间增加减少
            LocalDateTime localDateTime = LocalDateTime.now().plusSeconds(20);// 当前时间加20秒
            LocalDateTime localDateTime1 = LocalDateTime.now().plusHours(20);// 当前时间加20小时
            LocalDateTime localDateTime2 = LocalDateTime.now().plusDays(20);// 当前时间加20天
            LocalDateTime localDateTime3 = LocalDateTime.now().plusMinutes(20);// 当前时间加20分钟
            LocalDateTime localDateTime4 = LocalDateTime.now().plusMonths(20);// 当前时间加20月
            // ....
            LocalDateTime localDateTime5 = LocalDateTime.now().minusSeconds(20);// 当前时间减20秒
            LocalDateTime localDateTime6 = LocalDateTime.now().minusHours(20);// 当前时间减20小时
            LocalDateTime localDateTime7 = LocalDateTime.now().minusDays(20);// 当前时间减20天
            LocalDateTime localDateTime8 = LocalDateTime.now().minusMinutes(20);// 当前时间减20分钟
            LocalDateTime localDateTime9 = LocalDateTime.now().minusMonths(20);// 当前时间减20月
            // ....
    
            // date 类型时间增加
            // 方法一
            Date date=new   Date();//取时间
            System.out.println(date.toString());
            Calendar calendar = new GregorianCalendar();
            calendar.setTime(date);
            calendar.add(calendar.YEAR, 1);//把日期往后增加一年.整数往后推,负数往前移动
            calendar.add(calendar.DAY_OF_MONTH, 1);//把日期往后增加一个月.整数往后推,负数往前移动
            calendar.add(calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
            calendar.add(calendar.WEEK_OF_MONTH, 1);//把日期往后增加一个月.整数往后推,负数往前移动
            date=calendar.getTime();   //这个时间就是日期往后推一天的结果
            System.out.println(date.toString());
    
            // 方法二
            Date date1 = new Date();
            date.setTime(date.getTime() + 15*60*1000); // 当前时间增加15分钟
            System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(date));
    
  2. LocalDateTime、LocalDate、Date相互转化

      /**
         * Date转换为LocalDateTime
         *
         * @param date
         */
        public static LocalDateTime date2LocalDateTime(Date date) {
            Instant instant = date.toInstant();
            ZoneId zoneId = ZoneId.systemDefault();
            return instant.atZone(zoneId).toLocalDateTime();
        }
    
        /**
         * Date转换为LocalDate
         *
         * @param date
         */
        public static LocalDate date2LocalDate(Date date) {
            return date2LocalDateTime(date).toLocalDate();
        }
    
    
        /**
         * localDateTime转换为Date
         *
         * @param localDateTime
         */
        public static Date localDateTime2Date(LocalDateTime localDateTime) {
            ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
            return Date.from(zdt.toInstant());
        }
    
        /**
         * localDate转换为Date
         *
         * @param localDate
         */
        public static Date localDate2Date(LocalDate localDate) {
            ZonedDateTime zdt = localDate.atStartOfDay(ZoneId.systemDefault());
            return Date.from(zdt.toInstant());
        }
    
    
posted @ 2021-03-16 11:52  CodeSweet  阅读(814)  评论(0编辑  收藏  举报