java计算两个日期相差多少天小时分钟等

1、时间转换

data默认有toString()
输出格林威治时间,比如说Date date = new Date();
String toStr = date.toString();
输出的结果类似于:
Wed Sep 16 19:02:36 CST 2012 
 你要输出yyyy-MM-dd hh:mm:ss这种格式的话,
使用SimpleDataFormat类
 
比如
Date date = new Date();
 
String dateStr = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date);
System.out.println(dateStr);
输出结果像下面这样:
 
2009-09-16 07:02:36当然啦,你也可以把:hh:mm:ss去掉,输出的结果也就只有年-月-日了

2、时间差
复制代码
public static String getDatePoor(Date endDate, Date nowDate) {
 
    long nd = 1000 * 24 * 60 * 60;
    long nh = 1000 * 60 * 60;
    long nm = 1000 * 60;
    // long ns = 1000;
    // 获得两个时间的毫秒时间差异
    long diff = endDate.getTime() - nowDate.getTime();
    // 计算差多少天
    long day = diff / nd;
    // 计算差多少小时
    long hour = diff % nd / nh;
    // 计算差多少分钟
    long min = diff % nd % nh / nm;
    // 计算差多少秒//输出结果
    // long sec = diff % nd % nh % nm / ns;
    return day + "" + hour + "小时" + min + "分钟";
}
复制代码

 

posted @   如.若  阅读(111832)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示