//需求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. 达摩院重要科技突破!空天数据库引擎Ganos解读

    简介: Ganos空天数据库引擎是李飞飞带领的达摩院数据库与存储实验室研发的新一代位置智能引擎,采用了平台即服务.多模融合.计算下推和云原生全新处理架构,为政府.企事业单位.泛互联网客户提供移动对象. ...

  2. [GPT] php 报错 Unsupported operand types

    Unsupported operand types 这个错误通常发生在使用了不支持的操作数类型时.例如,当您尝试对两个不同类型的值执行算术运算时,就会出现这个错误. 例如,如果您尝试将字符串与数字相加 ...

  3. dockerfile构建镜像常用命令

    一.什么是dockerfile Dockerfile是一个包含用于组合映像的命令的文本文档.可以使用在命令行中调用任何命令. Docker通过读取Dockerfile中的指令自动生成映像. docke ...

  4. 【Python基础】两个参数的for循环步长写法

    一个参数for循环步长写法 >>> for i in range(1,10000,1000):print(i) ... 1 1001 2001 3001 4001 5001 6001 ...

  5. WEB服务与NGINX(2)-NGINX的I/O模型

    WEB服务与NGINX(2)-NGINX的I/O模型 目录 WEB服务与NGINX(2)-NGINX的I/O模型 1. linux I/0模型及在NGINX中的应用 1.1 I/O模型概述 1.2 系 ...

  6. nim 5. 读写文件

    读文件 假设nim程序相同的文件夹下,有个people.txt文件,内容如下: Alice A. Bob B. Carol C. 读取这个文件的代码 import strutils let conte ...

  7. JS实现下拉框切换和tab标签切换

    现在商城网页上会有下拉框切换内容,是如何实现的呢,研究了一天,在调整js代码和查找bug.最终完成了自己想要的效果,我没有写CSS样式,只是实现了基本功能,如果对你有所帮助,可以自己写css,使其更加 ...

  8. Scala中集合中的View用法

    设想以下这个计算 def eval(i: Int): Option[Int] = { println(s"invoke with $i") if (i % 2 == 0) { No ...

  9. 一款基于C#开发的通讯调试工具(支持Modbus RTU、MQTT调试)

    前言 今天大姚给大家分享一款基于C#.WPF.Prism.MaterialDesign.HandyControl开发的通讯调试工具(支持Modbus RTU.MQTT调试,界面色彩丰富):Wu.Com ...

  10. 记录一次对MQTT协议的渗透测试经历

    前言 由于工作需要,特意翻查了MQTT的相关漏洞,并一一学习复现,在此做以学习记录,没有恶意,如有抄袭,请私信作者删除. 技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站.服务器等 ...