LocalDate日期加减一天,mysql日期加减一天

在 Java 中,LocalDate 是不可变对象,意味着无法直接修改它的值。可以使用 plusDays(long daysToAdd) 方法来创建一个新的 LocalDate 实例,并将天数加到原始日期上。

在 lastHireDt 基础上加一天和加两天,代码如下:

加一天

clike 复制代码
LocalDate lastHireDt = esStaffVO.getLastHireDt();
LocalDate newDatePlusOne = lastHireDt.plusDays(1);

加两天

clike 复制代码
LocalDate newDatePlusTwo = lastHireDt.plusDays(2);

示例

假设 lastHireDt 的日期是 2024-11-08,加一天和加两天的操作如下:

java

clike 复制代码
LocalDate lastHireDt = LocalDate.of(2024, 11, 8); // 示例日期
LocalDate newDatePlusOne = lastHireDt.plusDays(1); // 2024-11-09
LocalDate newDatePlusTwo = lastHireDt.plusDays(2); // 2024-11-10

System.out.println("基础日期: " + lastHireDt);
System.out.println("加一天: " + newDatePlusOne);
System.out.println("加两天: " + newDatePlusTwo);

输出

clike 复制代码
基础日期: 2024-11-08
加一天: 2024-11-09
加两天: 2024-11-10

通过 plusDays() 方法,可以灵活地增加指定的天数。

减去一天的代码示例:

clike 复制代码
LocalDate lastHireDt = esStaffVO.getLastHireDt();
LocalDate newDateMinusOne = lastHireDt.minusDays(1);

示例:

假设 lastHireDt 的日期是 2024-11-08,然后将其减去一天:

clike 复制代码
LocalDate lastHireDt = LocalDate.of(2024, 11, 8); // 示例日期
LocalDate newDateMinusOne = lastHireDt.minusDays(1); // 2024-11-07

System.out.println("基础日期: " + lastHireDt);
System.out.println("减去一天: " + newDateMinusOne);

输出:

clike 复制代码
基础日期: 2024-11-08
减去一天: 2024-11-07

解释:

复制代码
minusDays(1) 方法返回一个新的 LocalDate 实例,该实例表示当前日期减去指定天数后的日期。LocalDate 是不可变的,因此原始的 lastHireDt 不会改变,newDateMinusOne 将保存减去一天后的结果。

mysql:

加一天:

sql 复制代码
SELECT * 
FROM employee
WHERE absent_details LIKE CONCAT('%', DATE_ADD(join_date, INTERVAL 1 DAY), '%')
   OR absent_details LIKE CONCAT('%', DATE_ADD(join_date, INTERVAL 2 DAY), '%');

注意:

复制代码
join_date 必须是有效的日期字段类型(如 DATE 或 DATETIME),否则 DATE_ADD 函数将无法正确处理。
absent_details 字段应该是字符串类型(如 VARCHAR),以便进行 LIKE 操作。

通过这种方式,可以在 SQL 查询中动态地将日期加 1 天或加 2 天进行比较。

使用 DATE_SUB 函数减去一天:

sql 复制代码
SELECT * 
FROM employee_absent_resign_rapplies 
WHERE absent_details LIKE CONCAT('%', DATE_SUB(join_date, INTERVAL 1 DAY), '%');

DATE_SUB 是 MySQL 中的函数,用来从日期中减去指定的时间间隔。

相关推荐
繁依Fanyi43 分钟前
用 CodeBuddy 实现「IdeaSpark 每日灵感卡」:一场 UI 与灵感的极简之旅
开发语言·前端·游戏·ui·编辑器·codebuddy首席试玩官
duapple4 小时前
Golang基于反射的ioctl实现
开发语言·后端·golang
Dxy12393102165 小时前
Python 条件语句详解
开发语言·python
字节源流6 小时前
关于maven的依赖下不下来的问题
java·maven
pjx9876 小时前
服务间的“握手”:OpenFeign声明式调用与客户端负载均衡
java·运维·spring·负载均衡
prinrf('千寻)7 小时前
MyBatis-Plus 的 updateById 方法不更新 null 值属性的问题
java·开发语言·mybatis
老华带你飞7 小时前
实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)
java·数据库·spring boot·小程序·论文·毕设·实习记录小程序
m0_555762907 小时前
Qt缓动曲线详解
开发语言·qt
在未来等你7 小时前
互联网大厂Java求职面试:AI与大模型应用集成及云原生挑战
java·微服务·ai·kubernetes·大模型·embedding·spring ai
源码技术栈8 小时前
SaaS基于云计算、大数据的Java云HIS平台信息化系统源码
java·大数据·云计算·云his·his系统·云医院·区域his