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

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateCompare {

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

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

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

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

        Date date1 = df.parse(DATE1);
        Date date2 = df.parse(DATE2);
        // 得到微秒级别的差值
        long diff = date2.getTime() - date1.getTime();
        // 将级别提升到天
        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 Long.toString(minutes);

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

        return value;

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

}

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值