首页 > 其他分享 >LocalDateTime判断时间段归属

LocalDateTime判断时间段归属

时间:2024-02-07 17:32:31浏览次数:29  
标签:return 归属 LocalDateTime 时间段 compareTo static inTime public

// v    2024-02-02 07:52:57    2024-02-02 14:39:14

 //Date inTime = Date.from(Instant.ofEpochMilli(1707150614000L));
 //LocalDateTime inTimeLocalDateTime = DateUtil.dateToLocalDateTime(inTime);
 LocalDateTime inTime = LocalDateTime.parse("2024-02-01 16:52:57", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

 //LocalTime intimelocalTime = inTime.toLocalTime();
 //
 //String intimelocalDate = LocalDate.now().toString();
 //
 //LocalTime startTime = LocalTime.of(8, 0, 0,0);
 //LocalTime endTime =LocalTime.of(20, 0, 0,0);
 //if (intimelocalTime.compareTo(startTime)>=0 && intimelocalTime.compareTo(endTime)<1){
 //    //在时段1  范围内
 //    //2024-01-19 16:25:01  2024-01-19 20:00:00
 //    System.out.println(intimelocalDate+intimelocalTime+"时段:"+1);
 //}
 //else {
 //    System.out.println(intimelocalDate+intimelocalTime+"时段:"+2);
 //}
 //LocalDateTime zeroTime = intimelocalDate.atTime(0, 0, 0, 0);
 //if (intimelocalTime.compareTo(zeroTime)>=0 && intimelocalTime.compareTo(oneDateStartTime)<0){
 //    System.out.println(inTime+"   "+oneDateStartTime+"   "+inTime.toLocalDate()+"时段:"+2);
 //}




 //LocalDateTime outTimeLocalDateTime = LocalDateTime.parse("2024-02-02 14:39:14",DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
 //2024-02-02 07:52:5  2024-02-02 08:00:00
 //2024-02-02 08:00:00  2024-02-02 14:39:00
//2024-01-20 08:00:00   2024-01-20 20:00:00
 //2024-01-20 20:00:00  2024-01-21 08:00:00
 //2024-01-21 08:00:00   2024-01-21 10:13:09

 //08:00:00 20:00:00
 //Period.between()

 //LocalDateTime inTime=inTimeLocalDateTime;
 //LocalDateTime outTime=outTimeLocalDateTime;


 LocalDate intimelocalDate = inTime.toLocalDate();
 LocalDateTime oneDateStartTime = intimelocalDate.atTime(8, 0, 0,0);
 LocalDateTime oneDateEndTime =intimelocalDate.atTime(20, 0, 0,0);
 //LocalDateTime oneDateEndTime = oneDateEndTimeinit.compareTo(outTimeLocalDateTime) > 0 ? outTimeLocalDateTime : oneDateEndTimeinit;
 if (inTime.compareTo(oneDateStartTime)>=0 && inTime.compareTo(oneDateEndTime)<1){
     //在时段1  范围内
     //2024-01-19 16:25:01  2024-01-19 20:00:00
     System.out.println(inTime+"  "+oneDateEndTime+"   "+inTime.toLocalDate()+"时段:"+1);
 }
 LocalDateTime twoDateStartTime = intimelocalDate.atTime(20, 0, 0,0);
 LocalDateTime twoDateEndTime =intimelocalDate.plusDays(1).atTime(8, 0, 0,0);
 if (inTime.compareTo(twoDateStartTime)>=0 && inTime.compareTo(twoDateEndTime)<1){
     System.out.println(inTime+"   "+twoDateEndTime+"   "+inTime.toLocalDate()+"时段:"+2);
 }
 LocalDateTime zeroTime = intimelocalDate.atTime(0, 0, 0, 0);
 if (inTime.compareTo(zeroTime)>=0 && inTime.compareTo(oneDateStartTime)<0){
     System.out.println(inTime+"   "+oneDateStartTime+"   "+inTime.toLocalDate()+"时段:"+2);
 }





 //while (inTime.compareTo(outTimeLocalDateTime)<0){
 //    LocalDate intimelocalDate = inTime.toLocalDate();
 //    LocalDateTime oneDateStartTime = intimelocalDate.atTime(8, 0, 0,0);
 //    LocalDateTime oneDateEndTimeinit =intimelocalDate.atTime(20, 0, 0,0);
 //    LocalDateTime oneDateEndTime = oneDateEndTimeinit.compareTo(outTimeLocalDateTime) > 0 ? outTimeLocalDateTime : oneDateEndTimeinit;
 //    if (inTime.compareTo(oneDateStartTime)>=0 && inTime.compareTo(oneDateEndTime)<1){
 //        //在时段1  范围内
 //        //2024-01-19 16:25:01  2024-01-19 20:00:00
 //        System.out.println(inTime+"  "+oneDateEndTime+"   "+inTime.toLocalDate()+"时段:"+1);
 //        inTime=oneDateEndTime;
 //    }
 //    LocalDateTime twoDateStartTime = intimelocalDate.atTime(20, 0, 0,0);
 //    LocalDateTime twoDateEndTimeinit =intimelocalDate.plusDays(1).atTime(8, 0, 0,0);
 //    LocalDateTime twoDateEndTime = twoDateEndTimeinit.compareTo(outTimeLocalDateTime) > 0 ? outTimeLocalDateTime : twoDateEndTimeinit;
 //    if (inTime.compareTo(twoDateStartTime)>=0 && inTime.compareTo(twoDateEndTime)<1){
 //        System.out.println(inTime+"   "+twoDateEndTime+"   "+inTime.toLocalDate()+"时段:"+2);
 //    }
 //    LocalDateTime zeroTime = intimelocalDate.atTime(0, 0, 0, 0);
 //    if (inTime.compareTo(zeroTime)>=0 && inTime.compareTo(oneDateStartTime)<0){
 //        System.out.println(inTime+"   "+oneDateStartTime+"   "+inTime.toLocalDate()+"时段:"+2);
 //    }
 //    inTime = twoDateEndTime;
 //
 //}



 //LocalDate intimelocalDate = inTimeLocalDateTime.toLocalDate();
 //long between = ChronoUnit.DAYS.between(inTimeLocalDateTime.toLocalDate(), outTimeLocalDateTime.toLocalDate());
 //for (long i = 0; i < between; i++) {
 //    LocalDate intimelocalDateNew = intimelocalDate.plusDays(i);
 //    LocalDateTime oneDateStartTime = intimelocalDateNew.atTime(8, 0, 0);
 //    LocalDateTime oneDateEndTime =intimelocalDateNew.atTime(20, 0, 0);
 //    LocalDateTime   inTimeLocalDateTimeNew=inTimeLocalDateTime;
 //    if (inTimeLocalDateTimeNew.isAfter(oneDateStartTime) && inTimeLocalDateTimeNew.isBefore(oneDateEndTime)){
 //        //在时段1  范围内
 //        //2024-01-19 16:25:01  2024-01-19 20:00:00
 //        String string = inTimeLocalDateTimeNew.toString();
 //        System.out.println(string+"  "+oneDateEndTime);
 //
 //
 //    }
 //        //  2  20:00:00  08:00:00
 //        System.out.println("22222222222");
 //
 //
 //
 //}
public static LocalDateTime getAppointLocalDateTime2(LocalDateTime localDateTime,int hour,int minute,int second){
    // 设置时间为
   return localDateTime.withHour(hour).withMinute(minute).withSecond(second).withNano(0);
}
public static LocalDateTime getAppointLocalDateTime(int hour,int minute,int second){
    // 获取当前日期和时间
    LocalDateTime now =LocalDateTimeNow();
    // 设置时间为
   return now.withHour(hour).withMinute(minute).withSecond(second).withNano(0);
}
public static LocalDateTime getNextLocalDateTime(int hour,int minute,int second){
    // 获取当前日期和时间
    LocalDateTime now =LocalDateTimeNow().plusDays(1);
    // 设置时间为
   return now.withHour(hour).withMinute(minute).withSecond(second).withNano(0);
}
public static LocalDate dateToLocalDate(Date date) {
    return date.toInstant().atZone(ZoneId.of("Asia/Shanghai")).toLocalDate();
}

public static LocalDateTime dateToLocalDateTime(Date nowDate) {
    return nowDate.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
}


public static Date LocalDateTimeToDate(LocalDateTime localDateTime) {
   return Date.from(localDateTime.atZone(ZoneOffset.ofHours(8)).toInstant());
}

public static Date LocalDateToDate(LocalDate localDate) {
   return Date.from(localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());
}


public static LocalDateTime LocalDateTimeNow() {
    return LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
}

public static LocalDate LocalDateNow() {
    return LocalDate.now(ZoneId.of("Asia/Shanghai"));
}


public static Long dateTimeStrToInstant(String datetime){
    LocalDateTime localDateTime = LocalDateTime.parse(datetime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    return localDateTime.toInstant(ZoneOffset.ofHours(8)).getEpochSecond();
}

标签:return,归属,LocalDateTime,时间段,compareTo,static,inTime,public
From: https://blog.51cto.com/u_16253752/9639137

相关文章

  • 判断当前时间是否在"07:07~10:10"格式数据时间段内;
    /***判断当前时间是否在"07:07~10:10"格式数据时间段内;*@param`timeStr`*@return*/privatebooleanisInTimeRange(StringtimeStr){String[]parts=timeStr.split("[~|:]");if(parts.length!=4){......
  • SpringBoot中使用LocalDateTime踩坑记录
    目录前言近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目基于Java21和SpringBoot3开发,序列化工具使用的是默认的Jackson,使用SpringDataRedis操作Redis缓......
  • js判断2个时间段是否有重叠(时分)
    原理:1天1440分钟,每个时间段都有对应的数值,生成2个数组,判断数组中是否有重叠数字isTimeOverlap(startA,endA,startB,endB){if(!startA||!endA||!startB||!endB)returnfalseletsA=this.dealTime(startA);letsB=this.dealTime(startB)......
  • nginx根据时间段打开或者关闭某配置项
    先看问题boss提了一个怪异的需求:每天上班时间8.30-18点可以访问某些url,其他时间段403。如何解决可以使用nginx的ngx_http_map_module模块结合ngx_http_access_module模块来实现具体操作步骤如1.在nginx中定义map,用来映射时间段,开关状态,url信息#nginx$time_local是一个nginx配置文......
  • LocalDateTime、LocalDate、Date、String相互转化
    为什么日期有Date了,还在JDK8中推出了LocalDateTime、LocalDate呢?非线程安全的方法Date类的大部分方法都不是线程安全的,比如setYear()、setMonth()、setDate()、setHours()、setMinutes()、setSeconds()等方法。这些方法都可以修改Date对象的内部状态。如果多个线程同时访问和......
  • 机器学习、机器视觉、机器触觉、机器听觉都是些啥?【都归属于AI吗?】
    首先,回答下标题这个疑问句?----YES 简述下对应的发展历史:1956年,第一个AI会议在达特茅斯学院举行,标志着AI作为学科的正式创立。会议的主要发起人——约翰·麦卡锡(JohnMcCarthy),计算科学家、认知科学家,也是他提出了“人工智能”的概念。如图1.20世纪60年代至70年代,符号推理(Symbolic......
  • LocalDateTime ZoneId 北京时间转巴西时间与实际相差1小时-已解决
    巴西圣保罗标准时间UTC-3北京时间UTC+8 两者相差11小时,即北京时间比巴西快11小时,例如:北京时间15:00:00, 巴西应该为04:00:00但是!!,本地验证巴西时间05:00:00,那么少了一个小时去哪里了呢?捣鼓了很多配置,无效,同事代码跑的就是04:00:00,相同的代码不同的结果,为何呢?环境问题:......
  • php获取详细访客信息,获取访客IP,IP归属地,访问时间,操作系统,浏览器,移动端/PC端,环境语言,访
    问题描述:需要获取访客访问网站信息1.代码示例与说明:<?phpheader("Content-Type:text/html;charset=utf-8");        //代码中涉及字符串处理,为防止汉字乱码需加编码说明functionchinesesubstr($str,$start,$len){          ......
  • 通用字符串时间转LocalDateTime对象的例子
    importjava.time.LocalDate;importjava.time.LocalDateTime;importjava.time.LocalTime;importjava.time.format.DateTimeFormatter;importjava.time.format.DateTimeParseException;publicclassDateTimeParsingExample{publicstaticvoidmain(String[]......
  • 报表中常用的一个时间段内按照不同周期划分时间段,同时也命名每个时间段名称
    用Java写的,基于若依的玩意,有需要拿去用或优化一下 首先建立返回的实体对象和周期枚举publicclassChartLine{privateDatebeginTime;privateDateendTime;privateStringlineName;}publicenumSplitWay{/***天*/Day(0),......