apache时间区间工具类DurationFormatUtils
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.10</version>
</dependency>
计算两个日期相差天数/月数/年数
Date dateStart = DateUtils.parseDate("2022-08-04", "yyyy-MM-dd");
Date dateEnd = DateUtils.parseDate("2023-08-05", "yyyy-MM-dd");
String dayPeriod = DurationFormatUtils.formatPeriod(dateStart.getTime(), dateEnd.getTime(), "d");
String monthPeriod = DurationFormatUtils.formatPeriod(dateStart.getTime(), dateEnd.getTime(), "M");
String yearPeriod = DurationFormatUtils.formatPeriod(dateStart.getTime(), dateEnd.getTime(), "y");
System.out.println(dayPeriod + " " + monthPeriod + " " + yearPeriod);
//输出:366 12 1
将时间区间格式化
long durationMillis = (10 * 24 * 3600 + 10 * 3600 + 10 * 60 + 10) * 1000;
String formatDate = DurationFormatUtils.formatDuration(durationMillis, "d'天'H'小时'm'分's'秒'");
System.out.println(formatDate);
//输出:10天10小时10分10秒
将时间间隔(毫秒数)格式化为[H:mm:ss.SSS 时:分:秒.毫秒]格式的字符串
String hms = DurationFormatUtils.formatDurationHMS(600000L);
//输出:00:10:00.000
标签:
实用技巧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
2021-11-29 请你谈谈关于IO同步、异步、阻塞、非阻塞的区别
2021-11-29 为什么需要消息队列?使用消息队列有什么好处?
2021-11-29 你能说说Java中Comparable和Comparator的区别吗