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);
    }

}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM