news 2026/4/3 6:06:41

java 比较2个Date是不是同一天,越简单越好

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
java 比较2个Date是不是同一天,越简单越好

以下是几种简单的方法比较两个Date是否为同一天:

方法1:Java 8+ 使用 LocalDate(推荐)

import java.time.LocalDate; import java.time.ZoneId; import java.util.Date; public boolean isSameDay(Date date1, Date date2) { LocalDate localDate1 = date1.toInstant() .atZone(ZoneId.systemDefault()) .toLocalDate(); LocalDate localDate2 = date2.toInstant() .atZone(ZoneId.systemDefault()) .toLocalDate(); return localDate1.isEqual(localDate2); }

方法2:Java 8+ 简化版

import java.time.Instant; import java.time.LocalDate; import java.time.ZoneId; import java.util.Date; public boolean isSameDay(Date date1, Date date2) { return LocalDate.ofInstant(date1.toInstant(), ZoneId.systemDefault()) .equals(LocalDate.ofInstant(date2.toInstant(), ZoneId.systemDefault())); }

方法3:使用 Calendar(Java 7及之前)

import java.util.Calendar; import java.util.Date; public boolean isSameDay(Date date1, Date date2) { Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); cal1.setTime(date1); cal2.setTime(date2); return cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH) && cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH); }

方法4:使用 SimpleDateFormat(最简短)

import java.text.SimpleDateFormat; import java.util.Date; public boolean isSameDay(Date date1, Date date2) { SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd"); return fmt.format(date1).equals(fmt.format(date2)); }

方法5:一行代码版(Java 8+)

public boolean isSameDay(Date date1, Date date2) { return date1.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate() .equals(date2.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate()); }

测试示例

public static void main(String[] args) { Date date1 = new Date(); // 当前时间 Date date2 = new Date(); // 当前时间 Date date3 = new Date(date1.getTime() + 24 * 60 * 60 * 1000); // 明天 System.out.println(isSameDay(date1, date2)); // true System.out.println(isSameDay(date1, date3)); // false }

推荐方案

  • Java 8及以上:使用方法1,代码清晰且性能好

  • Java 7及以下:使用方法3(Calendar)或方法4(SimpleDateFormat)

  • 追求极致简洁:使用方法4的SimpleDateFormat版本,虽然创建了格式化对象,但代码最简短

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 21:50:25

verl early stopping机制:防止过拟合的部署配置

verl early stopping机制:防止过拟合的部署配置 1. verl 介绍 verl 是一个灵活、高效且可用于生产环境的强化学习(RL)训练框架,专为大型语言模型(LLMs)的后训练设计。它由字节跳动火山引擎团队开源&#…

作者头像 李华
网站建设 2026/4/1 5:35:30

Fun-ASR VAD检测功能详解:精准切分语音片段

Fun-ASR VAD检测功能详解:精准切分语音片段 在处理长段录音时,一个常见但棘手的问题是:如何从几分钟甚至几十分钟的音频中,快速定位出真正包含语音的部分?背景静音、环境噪音、长时间停顿不仅浪费存储空间&#xff0c…

作者头像 李华
网站建设 2026/4/1 4:34:53

模型已打包免下载!麦橘超然镜像开箱即用真方便

模型已打包免下载!麦橘超然镜像开箱即用真方便 你是不是也遇到过这种情况:想试试最新的AI绘画模型,结果光是环境配置、依赖安装、模型下载就折腾了一整天?更别提显存不够、精度不兼容、加载报错这些问题了。现在,这一…

作者头像 李华
网站建设 2026/4/1 23:00:08

2026 红蓝对抗:HVV 蓝军战术与实战案例详解(完整版指南)

‍正文: HW行动,攻击方的专业性越来越高,ATT&CK攻击手段覆盖率也越来越高,这对于防守方提出了更高的要求,HW行动对甲方是一个双刃剑,既极大地推动了公司的信息安全重视度和投入力量,但同时…

作者头像 李华
网站建设 2026/3/27 14:03:48

verl实际应用案例:Geo3K几何题轻松解

verl实际应用案例:Geo3K几何题轻松解 1. 引言:用AI解决复杂几何推理问题 你有没有遇到过这样的情况:面对一道复杂的几何题,画了无数条辅助线还是毫无头绪?传统的数学推理模型在处理图形信息时常常束手无策&#xff0…

作者头像 李华
网站建设 2026/3/27 8:24:32

微调后模型变笨了?Qwen2.5-7B过拟合应对策略

微调后模型变笨了?Qwen2.5-7B过拟合应对策略 你有没有遇到这种情况:辛辛苦苦微调完一个大模型,结果它非但没变得更聪明,反而连原本会的问题都答不出来了?尤其是在用少量数据做身份认知类微调时,比如让 Qwe…

作者头像 李华