//需求1:当天的日期且时间在9~24点之间的开始时间
LocalDateTime nowTime= LocalDateTime.now();
int year = nowTime.getYear();
int month = nowTime.getMonthValue();
int day = nowTime.getDayOfMonth();
System.out.println("year=" + year);
System.out.println("month=" + month);
System.out.println("day=" + day); // nowTime.withHour(9);
// System.out.println("nowTime=" + nowTime ); LocalDateTime rentTime = LocalDateTime.of(2023, 3, 2, 9, 00, 00); int rentTimeyear = rentTime.getYear();
int rentTimemonth = rentTime.getMonthValue();
int rentTimeday = rentTime.getDayOfMonth();
int rentTimeHour = rentTime.getHour();
System.out.println("year=" + rentTimeyear);
System.out.println("month=" + rentTimemonth);
System.out.println("day=" + rentTimeday);
System.out.println("rentTimeHour=" + rentTimeHour); //方法1:比较年月日int ,然后取小时数判断
if(year == rentTimeyear && month == rentTimemonth && day == rentTimeday){
System.out.println("日期符合");
if(rentTimeHour >= 9 && rentTimeHour <= 24){
System.out.println("小时符合");
}else {
System.out.println("小时不符合");
} }else{
System.out.println("日期不符合");
} System.out.println("-------------------------------------------");
//方法2:通过localdatetime 来比较,设置localtime解决
LocalDate ld = LocalDate.now();
// LocalDateTime ldt1 = ld.atTime(8,59,59);
// LocalDateTime ldt2 = ld.atTime(23,59,59);
// System.out.println("ldt1="+ldt1);
// System.out.println("ldt2="+ldt2); // Localtime转为 LocalDateTime
LocalTime lt1 = LocalTime.of(8,59,59);
LocalTime lt2 = LocalTime.of(23,59,59);
LocalDateTime ldt1 = ld.atTime(lt1);
LocalDateTime ldt2 = ld.atTime(lt2); System.out.println("ldt1="+ldt1);
System.out.println("ldt2="+ldt2); // LocalDateTime localDateTime = LocalTime.now().atDate(LocalDate.now()); /**
* 对于 date1.isAfter(date2) 代表的意思是, 检查 date1 是否在 date2 日期之后。
* 对于 date1.isBefore(date2) 代表的意思是,检查date1 是否在 date2 日期之前。
*/
//含等于 rentTime.isEqual(ldt1) || 可以调整参考对象
if(rentTime.isAfter(ldt1) && rentTime.isBefore(ldt2)){
System.out.println("-------------符合要求");
}else{
System.out.println("不符合要求");
} //需求2:判断当前时间跟开始时间的比较,是否在距离开始时间4小时内
LocalDateTime rentTime2 = LocalDateTime.of(2023, 3, 13, 19, 53, 00);
LocalDateTime now = LocalDateTime.now();
LocalDateTime rentTimeBefore4Hours = rentTime2.plusHours(-4);
//4小时内
if(now.isAfter(rentTimeBefore4Hours)){
//券核销
System.out.println("4小时内");
}else{
System.out.println("4小时外");
}

LocalDateTime应用比较日期的更多相关文章

  1. LocalDateTime与mysql日期类型的交互(基于mybatis)

    众所周知,在实体Entity里面,可以使用Java.sql.Date.java.sql.Timestamp.java.util.Date来映射到数据库的date.timestamp.datetime等 ...

  2. [Java]Java日期及时间库插件 -- Joda Time.

    来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用的都是JDK原生的时间处理API, 大家都知道Java原生的时间处 ...

  3. java8及8之前日期相关类

    java 8日期相关类 Instant:精确到纳秒的时间戳 Duration:处理有关基于时间的时间量 LocalDate:只包含日期,比如:2016-10-20 LocalTime:只包含时间,比如 ...

  4. JAVA 8 日期工具类

    JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...

  5. JDK8 新增的日期时间API

    背景 JDK8中增加了一套全新的日期时间API,这里进行总结下,方便查询使用. 新的时间及日期API位于 java.time 包中,下面是一些关键类. Instant:代表的是时间戳. LocalDa ...

  6. 廖雪峰Java7处理日期和时间-3java.time的API-1LocalDateTime

    1.java.time提供了新的日期和时间API: LocalDate/LocalTime/LocalDateTime ZoneDateTime/ZoneId Instant Formatter 新A ...

  7. java计算时间差, 日期差小结

    转自:https://blog.csdn.net/sy793314598/article/details/79544796 1.java 7中的日历类Calendar Calendar类使用其静态的g ...

  8. Java 8 LocalDateTime 初使用

    LocalTime :  只包括时间 LocalDate : 只包括日期 LocalDateTime : 包括日期和时间 JDBC映射 LocalTime 对应 time LocalDate 对应 d ...

  9. java8时间工具类Localdate、LocaldateTime

    优点: 1.方便. Date 只能是日期加时间的格式,而 LocalDate .LocalTime.LocalDateTime 分别代表日期,时间,日期+时间,非常灵活.再就是后者在日期计算及格式化方 ...

  10. Java 8 新的时间日期 API

    1. 概述 1.1 简介 Java 8 引入了一套全新的时间日期API,操作起来更简便.简单介绍下,LocalDate和LocalTime和LocalDateTime的使用: java.util.Da ...

随机推荐

  1. go语言package使用

    近期接触go感觉package包之间引用很麻烦,很绕圈子.下面一起理一理这个package咋用 关于package: 1.不限于一个文件,可以多个文件组成一个package 2.不要求package的 ...

  2. VueJS和Javascript实现文字上下滚动效果

    一提到文字上下滚动,我们就会想到用不同的程序去实现,而且页面中有文字滚动会增加这个网页的互动和可信度. 1.Js最简单的方法是控制盒子的高度,使不断的重复添加 <html> <bod ...

  3. CSS样式(第二篇)

    ​ CSS样式(第二篇) 关于定位position: li.widget {position: relative;}相对定位,设定一个参照物. @media (max-width: 980px) .t ...

  4. python教程3.3:字符和编码

    1.二进制 计算机只能存储和识别二进制,但是人类常用的字母.数字.汉字怎么用计算机存储和识别呢? 人类强行约定一个对应表,把数字.字母和数字进行对应上,这样就可以用二进制表示字母和数字了. 2.ASC ...

  5. mac + docker+单击clickhouse+Dbeaver安装全套

    一.保证docker安装成功 看下教程:https://www.runoob.com/docker/macos-docker-install.html 二.启动桌面版docker 三.下载clickh ...

  6. JDK源码阅读-------自学笔记(七)(二维数组的浅析)

    实际开发中一般最多使用到二维数组,再高很少使用 二维数组很少用,实际开发中会使用容器代替使用 1.创建二维数组 1 // 二维数组初始化 2 int[][] secondDimensional = n ...

  7. zabbix使用

    安装部署6.0版本 获取仓库 https://www.zabbix.com/cn/download?zabbix=6.0&os_distribution=centos&os_versi ...

  8. C++ Virtual Functions

    Virtual这个关键字在多态中扮演一个绝对重要的角色,只要member functions声明的前面加上virtual的关键字,他就会成为 Virtual member functions.任何一个 ...

  9. Java类加载过程&&静态代码块的初始化过程

    问题的引入 还是老规矩,先说说自己遇到的问题. 最近看到了一个比较有意思的Java程序,初次看到这段程序执行的结果还是挺让我意外的,话不多说先上程序,大家也可以揣摩一下(大神自行略过......) c ...

  10. docker 容器镜像加速配置

    登录阿里云容器镜像服务即可看到配置加速.