Java----日期算法(计算两个date类型的时间差)

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

1、时间转换

Date date = new Date();
String toStr = date.toString();

输出的结果类似于:
Wed Sep 16 19:02:36 CST 2012 

使用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

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 + "分钟";
}

你可能感兴趣的:(java,算法)