Java获取当前时间,两个时间进行比较和相减操作

时间:2025-03-10 08:59:28

import ;
import ;
import ;

public class DateCompare {

//获取当前时间
Date date = new Date();
DateFormat dateF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = (date);
// 比较两个日期的前后
public static int compare_date(String DATE1, String DATE2) {

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
    try {
        Date date1 = (DATE1);
        Date date2 = (DATE2);
        if (() > ()) {
            // ("date1 在date2后");
            return 1;
        } else if (() < ()) {
            // ("date1在date2前");
            return -1;
        } else {
            return 0;
        }
    } catch (Exception e) {
        ();
    }
    return 0;
}

// 两个日期相减
public static String subtract_date(String DATE1, String DATE2) {

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {

        Date date1 = (DATE1);
        Date date2 = (DATE2);
        // 得到微秒级别的差值
        long diff = () - ();
        // 将级别提升到天
        long days = diff / (1000 * 60 * 60 * 24);

// if(days<1){
// days = 0;
// }
// 将级别提升到小时
long hours = diff / (1000 * 60 * 60);
// if(hours<1){
// hours = 0;
// }
// 将级别提升到分钟
long minutes = diff / (1000 * 60);
// if(minutes<1){
// minutes = 0;
// }
//将级别提升到秒
long seconds = diff / 1000;

// //返回分钟级别的数据
// return (minutes);

        //返回n天n小时n分钟数据             //字符串最后分钟处+1的意思是当程序登录不满一分钟的时候也算一分钟算,以后的情况类似
        String value = (days)+"天"+((diff-days*(1000 * 60 * 60 * 24))/(1000 * 60 * 60))
                +"小时"+(((diff-days*(1000 * 60 * 60 * 24)-hours*(1000 * 60 * 60))/(1000 * 60))+1)+"分钟";

        return value;

    } catch (Exception e) {
        ();
    }
    return null;
}

}