news 2026/6/10 18:27:57

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/6/10 13:08:18

开源大模型趋势分析:YOLOv11+GPU按需计费成新标准

开源大模型趋势分析:YOLOv11GPU按需计费成新标准 近年来,计算机视觉领域的发展持续加速,目标检测作为其中的核心任务之一,正经历着从算法创新到工程落地的全面升级。在这一进程中,YOLO系列模型始终扮演着关键角色。最…

作者头像 李华
网站建设 2026/6/10 9:12:30

开发者必看:PyTorch-2.x预装依赖镜像免配置部署推荐

开发者必看:PyTorch-2.x预装依赖镜像免配置部署推荐 1. 镜像简介:开箱即用的深度学习开发环境 如果你还在为每次搭建 PyTorch 环境而烦恼——手动安装 CUDA、反复调试 cuDNN 版本、处理 pip 源慢、依赖冲突频发,那么这个镜像就是为你准备的…

作者头像 李华
网站建设 2026/6/10 11:14:29

GPEN能否跑在树莓派上?ARM架构移植实验记录

GPEN能否跑在树莓派上?ARM架构移植实验记录 1. 实验背景与目标 最近在研究图像修复和肖像增强技术时,接触到了一个非常实用的开源项目——GPEN(Generative Prior ENhancement)。它基于深度学习模型,能够对人脸照片进…

作者头像 李华
网站建设 2026/6/10 14:56:50

输入‘你是谁’,它回答‘由我开发’——太震撼了

输入‘你是谁’,它回答‘由我开发’——太震撼了 你有没有试过和一个大模型聊天,问它“你是谁”,结果它一本正经地告诉你:“我是阿里云研发的大语言模型”? 听起来很合理,但如果你希望它说“我由CSDN迪菲赫…

作者头像 李华
网站建设 2026/6/10 14:52:13

Z-Image-Edit文本渲染能力测试:中英文排版准确性分析

Z-Image-Edit文本渲染能力测试:中英文排版准确性分析 1. 引言:为什么这次测试值得关注? 你有没有遇到过这种情况:用AI生成一张海报,中文标题歪歪扭扭、字母间距忽大忽小,甚至文字被切了一半?这…

作者头像 李华