• java中时间区间判断和给定时间加减多长时间LocalDateTime


    package java8test;
    
    import java.time.Instant;
    import java.time.LocalDate;
    import java.time.LocalDateTime;
    import java.time.ZoneId;
    import java.time.format.DateTimeFormatter;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import java.util.stream.Collectors;
    
    public class Test {
    	 /**
         * java 判断一个时间是不是今天的时间范围内
         * @param args
         */
        public static void main(String[] args) {
        	//减半小时
    		 LocalDateTime time2=LocalDateTime.now().minusMinutes(30);
    		
    		 //将日期类型转换成localdate类型
    		 Date date1=new Date();
    		 Instant instant1 = date1.toInstant();
    		 ZoneId zoneId1 = ZoneId.systemDefault();
    		 LocalDate localDate1 = instant1.atZone(zoneId1).toLocalDate();
    		 System.out.println("localDate1==="+localDate1);
        	
        	//判断是否在时间区间
            String time = "2022-03-23 11:20:45";
            DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            LocalDateTime localTime = LocalDateTime.parse(time, dtf);
            System.out.println("localTime====="+localTime);
            
            LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);//开始时间点
            LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);//结束时间点
            //如果小于今天的开始日期
            if (localTime.isBefore(startTime)) {
                System.out.println("时间是过去");
            }
            //如果大于今天的开始日期,小于今天的结束日期
            if (localTime.isAfter(startTime) && localTime.isBefore(endTime)) {
                System.out.println("时间是今天");
            }
            //如果大于今天的结束日期
            if (localTime.isAfter(endTime)) {
                System.out.println("时间是未来");
            }
            
            
            // 减10天
            plusLocalDateTime(-10);
            // 减2天
            plusLocalDateTime(2);
        }
        
    
        /**
         * 当前日期加或减num天,num为正表示加,为负表示减
         * @param num 加或减的天数
         */
        public static void plusLocalDateTime(Integer num) {
            LocalDateTime now = LocalDateTime.now();
            System.out.println("当前时间:" + now);
            LocalDateTime plusTime = now.plusMonths(1).plusDays(num).plusHours(1).plusMinutes(1).plusSeconds(1);
            System.out.println("增加1月num天1小时1分钟1秒时间后:" + plusTime);
            LocalDateTime minusTime = now.minusMonths(num);
            System.out.println("减少num个月时间后:" + minusTime);
        }
    
    }
    

      

  • 相关阅读:
    ruby on rails入门基础
    医学界的一个阴谋——近视手术
    30岁前挣够500万
    学习数学的意义
    针对 NetBeans IDE 7.1 的 Ruby 开发插件发布
    人的一生
    Rails常用命令整理
    穷人为什么穷?富人为什么富?
    NetBeans的(默认)快捷键
    IT界那些性感的让人尖叫的程序员
  • 原文地址:https://www.cnblogs.com/xianz666/p/16044053.html
Copyright © 2020-2023  润新知