工作中用到的小算法,计算两日期间隔xx年xx月xx天

Oracle日期差计算全解析:从秒到年的精准计算与实战避坑 在数据库开发与数据分析中,日期时间处理是核心基础操作,涉及时间差计算、精度控制和业务逻辑实现。其原理基于数据库对日期数据类型的内部存储机制,通常以天数或更高精度数值表示时间点。掌握日期差计算的技术价值在于能够高效支持用户在线时长统计、订单处理周期分析、业务报表生成等多种应用场景。针对Oracle数据库,开发者需要熟悉直接相减、EXTRACT函数和MONTHS_BETWEEN函数等核心方法,以应对不同时间单位的计算需求,并避免因忽略时间部分或错误使用函数导致的常见陷阱。本文聚焦Oracle日期差计算,通过实战 阅读详情
package test;

import java.util.Calendar;

public class Test {
	static int year = 0;
	static int month = 0;
	static int day = 0;

	public static void main(String[] args) {

		Calendar start = Calendar.getInstance();
		start.set(2015, 1, 5, 0, 0, 0);

		Calendar end = Calendar.getInstance();
		end.set(2039, 4, 3, 0, 0, 0);

		start.add(Calendar.MONTH, 1);
		Calendar nextMonth = Calendar.getInstance();
		nextMonth.setTime(start.getTime());
		start.add(Calendar.MONTH, -1);

		start.add(Calendar.YEAR, 1);
		Calendar nextYear = Calendar.getInstance();
		nextYear.setTime(start.getTime());
		start.add(Calendar.YEAR, -1);

		Calendar today = Calendar.getInstance();
		Calendar yestoday = Calendar.getInstance();
		today.setTime(start.getTime());

		while (true) {
			boolean spanYear = false;
			boolean spanMonth = false;

			yestoday.setTime(today.getTime());

			today.add(Calendar.DAY_OF_YEAR, 1);

			spanYear = today.getTime().getTime() >= nextYear.getTime().getTime();
			spanMonth = today.getTime().getTime() >= nextMonth.getTime().getTime();

			if (spanYear) {
				year++;
				month = 0;
				day = 0;
				nextYear.add(Calendar.YEAR, 1);
				nextMonth.add(Calendar.MONTH, 1);
			 
			} else if (spanMonth) {
				month++;
				day = 0;
				nextMonth.add(Calendar.MONTH, 1);
				 
			} else {
				day++;
			}

			if (today.get(Calendar.YEAR) == end.get(Calendar.YEAR)
					&& today.get(Calendar.MONTH) == end.get(Calendar.MONTH)
					&& today.get(Calendar.DAY_OF_MONTH) == end.get(Calendar.DAY_OF_MONTH))
				break;
		}

		System.out.println((year < 1 ? "" : year + "年") + (month < 1 ? "" : month + "月") + (day < 1 ? "" : day + "天"));

	}

}

【Flutter】Flutter 计算两个日期的时间差:实现日期间隔的精确计算 在我们的日常生活和工作中,经常会遇到需要计算两个日期之间的时间差的情况,例如计算某个活动的持续时间,或者计算两个事件之间的间隔天数。在 Flutter 中,我们可以使用 Dart 的 DateTime 类和 DateFormat 类来实现这个功能。 阅读详情

相关推荐

从零组装电赛送药小车:OpenMV视觉核心+STM32控制,我的软硬件联调全记录

本文详细记录了从零构建电赛智能送药小车的全过程,重点解析了OpenMV视觉识别与STM32控制的深度协同方案。通过硬件选型对比、通信协议设计、PID调参等实战经验,解决了巡线精度、十字路口识别等核心问题,最终实现稳定可靠的送药小车系统,助力电子设计竞赛取得优异成绩。

weixin_42641741的博客 449

java date 获取天数差_Java计算两个时间的天数差与月数差 LocalDateTime

/*** 计算两个时间点的天数差* @param dt1 第一个时间点* @param dt2 第二个时间点* @return int,即要计算的天数差*/public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){//获取第一个时间点的时间戳对应的秒数long t1 = dt1.toEpochSecond(ZoneOffset....

weixin_32715971的博客 1724

huggingface 镜像站推荐

在做 Ai 应用开发或者学习的时候,我们经常需要下载各种模型,而 huggingface 的模型下载速度很慢或者根本就连不上,这里推荐一个 huggingface 的镜像站,速度很快,可以大大提高我们的效率。

t951984189的博客 1万+

sql计算日期间相差的年月日(可用于计算司龄等数据)

正常计算日期间差共多少年,多少月,多少日,可以用 select datediff(yy,@dt1,@dt2) – 年 select datediff(mm,@dt1,@dt2) – 月 select datediff(dd,@dt1,@dt2) – 日 以上是统一为一个单位,如果是合并,求两个日期之间差多少年余多少个月余几天,涉及进位,就有点复杂。 这里参考了 https://blog.youkuaiyun.com/kehua668/article/details/82882194 这篇文章,这里对其进行小改,让

weixin_52196195的博客 7163

如何根据芯片手册时序图编写驱动程序

如何根据芯片手册时序图编写驱动程序 对于电子开发者来说,刚刚拿到一个芯片,常用的芯片可以参考网上的例程来做深入了解,对于一个不常用的芯片来说,Datasheet几乎是使用芯片的唯一的资料,所以根据Datasheet时序图写出对应的驱动程序就尤为重要。 本文根据一个简单的例子来阐述根据时序图来编写对应的程序过程。旨在讲解对于初学者应该怎么利用芯片的时序图编写符合要求的底层驱动程序(老鸟请跳过)。 下载芯片的Datasheet,(个人常用http://www.21icsearch.com/)如..

weixin_36447711的博客 1万+

保姆级!n8n 公众号自动化:从 0 搭 “写文案 + 生图 + 发草稿” 全流程

【摘要】本文介绍如何利用n8n搭建全自动公众号内容发布流程,涵盖AI文案生成、封面图制作到自动发布的全链路解决方案。通过对接OpenRouter大模型、阿里云百炼生图API及微信官方接口,实现从内容创作到发布的自动化。重点包括:1)n8n微信节点安装配置;2)大模型API授权与提示词优化技巧;3)图片生成与格式转换处理;4)公众号接口授权注意事项;5)草稿自动生成参数设置要点。特别提醒首次配置时需关闭自动发布功能以检查效果,避免格式错误导致发布失败。该方案无需复杂编程,适合运营人员快速搭建自动化内容生产流程

Jacket0603的博客 1595

MySQL数据库时间计算的用法

今天给大家分享如何通过MySQL实现时间的转换和计算,在工作当中,测试人员经常需要查询数据库表的日期时间,但发现开发人员存入数据库表的形式都是时间戳形式,不利于测试人员查看,测试人员只能利用工具对时间戳进行转换,才能直观查看。但这样会增加测试人员的效率,那么可巧妙的使用MySQL内置函数,便可以轻松解决这个问题,以及通过内置函数对时间进行加减计算,便可以提高工作的效率。

2301_78843735的博客 1184

基于YOLOv8的农作物病虫害检测系统设计与实现

国内如中国农业大学的科研团队采用改进的Faster R-CNN模型对小麦病害进行检测,取得了较好的效果。农作物病虫害是影响农业生产的重要因素之一,每年因病虫害导致的农作物减产高达20%-40%。YOLO(You Only Look Once)系列算法作为目标检测领域的代表性模型,以其高效、准确的特点在众多领域得到广泛应用。YOLOv8作为该系列的最新版本,在精度和速度上都有显著提升,非常适合农作物病虫害检测这类需要实时处理的应用场景。然而,现有研究仍存在一些不足:一是模型复杂度高,难以部署到移动设备;

YOLO 795

oracler日期函数相差六个月_oracle 计算两个时间之间的月份差,相差几个星期,相差多少天...

相差多少天:sysdate-to_date('1991-01-01','YYYY-MM-DD'))<7 and (sysdate-to_date('1991=01=01','YYYY-MM-DD'))>0相差几个星期用to_char(sysdate,'ww')获取时间为当年的第多少个星期,同理做减法即可获得差值两个时间之间的月份差select substr(to_char(sysda...

weixin_39526238的博客 718

78.在 Vue3 中使用 OpenLayers 实现地图地点搜索定位功能

本文详细介绍了如何在 Vue3 中集成 OpenLayers,实现地图地点搜索和定位功能。Vue3 项目环境的搭建与依赖安装。使用语法实现地图初始化和控件集成。通过 OpenLayers 的 Popup 和 Geocoder 插件,实现地址搜索和定位。希望这篇博文能帮助你快速掌握 Vue3 与 OpenLayers 的集成技术。如果在使用过程中遇到问题,欢迎在评论区留言讨论,或者参考 OpenLayers 官方文档获得更多帮助。注意。

小彭的博客 1854

YOLO26涨点改进 | 独家创新,特征融合改进篇 | TGRS 2025 | 引入FFM特征融合模块,实现特征的全局交互与融合,含多种组合创新改进,适合小目标检测、助力YOLO26有效涨点

本文提出了一种改进YOLO26目标检测模型的FFM模块,该模块通过跨模态注意力机制实现全局特征融合,显著提升模型对小目标、密集目标和复杂场景的检测性能。FFM采用多头跨注意力机制建模不同模态间的复杂关系,同时引入可调节下采样率降低计算复杂度。实验表明,在WHU-OPT-SAR等数据集上,FFM模块使mIoU提升0.75%,OA提升0.32%。文章详细介绍了FFM的结构原理、核心代码实现,并提供了两种改进YOLO26的yaml配置文件方案,包括FFM单独使用以及与FCM模块的组合方案。

Ai缝合怪、助力小伙伴高效发论文 195

postgresql 实现计算日期间隔排除周末节假日方案

前置条件:需要维护一张节假日日期表。例如创建holiday表保存当年假期日期。返回日期为xx日xx时xx分格式,可以在此基础上调整格式。

一口粥粥的博客 1423

基于特征模仿的YOLOv5中间层知识蒸馏:原理、实现与实验全解析

目标检测中的模型轻量化是一个关键挑战。本文提出一种基于特征模仿(Feature Imitation)的YOLOv5中间层知识蒸馏方法,通过让学生模型学习教师模型的中间层特征表示,显著提升轻量级检测器的性能。我们将详细阐述蒸馏损失函数的设计、特征对齐策略、训练流程,并提供完整可运行的代码实现。同时,推荐多个适合蒸馏训练的数据集,并通过实验验证方法的有效性。

YOLO 187

关于两个日期间隔工作日的oracle sql实现

sysdate是系统时间 xx.dd是从数据库表中取出的时间,执行结果取出所有当前系统时间在5个工作日以后的结果集。     select * from tableName   where (trunc(sysdate -x.dd) - ((case WHEN (8 - to_number(to_char(x.dd, 'D'))) &gt;trunc(sysdate - x.dd) ...

A2k 430

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: JAVA 枚举、泛型
下一篇: Android Touch事件分发—拦截—处理
SetO2
博客等级 码龄12年 5粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值