获取待判断时间与当前时间相差的天数,时间差判断,获取当前时间前面n天的日期

1.获取待判断时间与当前时间相差的天数

判断两个日期相差的天数:

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date day = df.parse("2018-05-18 17:39:39");
Date day2 = df.parse("2018-05-1 00:00:00");
Date day3 = df.parse("2018-05-19 17:39:39");

// 一整天的时间差转为毫秒数:s2 = 86400000
long s2 = day3.getTime() - day.getTime();

// 当前日期时间:2018-05-27 15:01:53 转换为毫秒数:1527404513294
System.out.println("当前日期时间:" + df.format(new Date()) + "   转换为毫秒数:" + System.currentTimeMillis());

//两日期相差天数 转为毫秒数计算完再换算成整数
//"2018-05-19 17:39:39" 与 "2018-05-18 17:39:39"相差一天
System.out.println((day3.getTime() - day.getTime())/s2);
//当前时间(2018-5-27 15:27:00)与"2018-05-1 00:00:00"相差26天
System.out.println((System.currentTimeMillis() - day2.getTime())/s2);

2.获取当前时间前面n天的日期(距离n=2)

直接上例子:

                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date day = df.parse("2018-05-18 17:39:39");
Date day3 = df.parse("2018-05-19 17:39:39");

// 一整天的时间差转为毫秒数:s2 = 86400000
long s2 = day3.getTime() - day.getTime();

// 当前日期时间:2018-05-27 15:01:53 转换为毫秒数:1527404513294
System.out.println("当前日期时间:" + df.format(new Date()) + "   转换为毫秒数:" + System.currentTimeMillis());
// 获取当前时间前面n天的日期毫秒数; 此处n = 2
System.out.println(System.currentTimeMillis() - s2 * 2);// 604800000
// 格式化之后 2018-05-25 15:01:53

System.out.println(df.format(System.currentTimeMillis() - s2 * 2));


这个只是写应用最基础的,如果大神有更好的算法,评论区求指教


猜你喜欢

转载自blog.csdn.net/select_bin/article/details/80469401
今日推荐