Date.compareTo()的应用

简介: Date.compareTo()的应用

在业务逻辑里需要查询某个时间段的状态,根据查询起始时间和查询结束时间来查此时间段的记录并返回


后来检查的时候发现如果返回的第一条数据的时间和查询起始时间中间有间隔,那么就会漏掉数据,造成计算的误差


比如从9:00:00查询到10:00:00,结果第一条数据是9:05:00的,那么从9:00:00到9:05:00这段时间的数据其实是有状态的,不能随意丢弃,


所以必须根据第一条数据的时间向上查询一条数据,


然后再将查询起始时间赋值给它,并添加到集合首位,也就是补头数据


后来再检查的时候发现如果查询起始时间刚好就是返回的第一条数据时间,那么还会按照之前的逻辑向前查询一条数据,那么这样就又出现了问题,


刚开始想的是将Date转为String来equals对比查询起始时间和返回第一条数据的时间,但是这样有失准确


后来想到了Date的一个比较方法,就是Date.compareTo(),用来比较两个时间,如果相等返回0,这样就解决了问题,在向上查找一条数据的方法加一个判断


如果compareTo()返回的不是0才会向上查找一条数据,保证了数据的完整和准确.


记录一下


int compare = dataRealTime.get(0).getDataTime().compareTo(startTime);
            if (0 != compare) {
                //如果dataRealTime集合至少有一条数据,就查询此数据的前一条数据,赋值为查询起始时间,并添加到集合第一位.
                addPreviousStatus(dataRealTime, startTime);
            }


相关文章
|
前端开发
前端项目实战贰拾-​sourceTree出现sourceTree The host key is not cached for this server
前端项目实战贰拾-​sourceTree出现sourceTree The host key is not cached for this server
148 0
前端项目实战贰拾-​sourceTree出现sourceTree The host key is not cached for this server
|
1天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
301 90
|
9天前
|
机器人 API 调度
基于 DMS Dify+Notebook+Airflow 实现 Agent 的一站式开发
本文提出“DMS Dify + Notebook + Airflow”三位一体架构,解决 Dify 在代码执行与定时调度上的局限。通过 Notebook 扩展 Python 环境,Airflow实现任务调度,构建可扩展、可运维的企业级智能 Agent 系统,提升大模型应用的工程化能力。
|
人工智能 前端开发 API
前端接入通义千问(Qwen)API:5 分钟实现你的 AI 问答助手
本文介绍如何在5分钟内通过前端接入通义千问(Qwen)API,快速打造一个AI问答助手。涵盖API配置、界面设计、流式响应、历史管理、错误重试等核心功能,并提供安全与性能优化建议,助你轻松集成智能对话能力到前端应用中。
735 154
|
15天前
|
人工智能 数据可视化 Java
Spring AI Alibaba、Dify、LangGraph 与 LangChain 综合对比分析报告
本报告对比Spring AI Alibaba、Dify、LangGraph与LangChain四大AI开发框架,涵盖架构、性能、生态及适用场景。数据截至2025年10月,基于公开资料分析,实际发展可能随技术演进调整。
978 152
|
2天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~