记录一下,有个需求是关于时间的倒计时的判断的,在网上找了很多资料,整理了一下对自己有用的
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/* 当前系统时间*/
Date date = new Date(System.currentTimeMillis());
String time1 = simpleDateFormat.format(date);
/*计算时间差*/
Date begin = simpleDateFormat.parse(time1);
Date end = simpleDateFormat.parse(time2);
long diff = end.getTime() - begin.getTime();
/*计算天数*/
long days = diff / (1000 * 60 * 60 * 24);
/*计算小时*/
long hours = (diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
/*计算分钟*/
long minutes = (diff % (1000 * 60 * 60)) / (1000 * 60);
/*计算秒*/
long seconds = (diff % (1000 * 60)) / 1000;
/* 输出
System.out.println("保鲜的日期时间差:" + days + "天" + hours + "小时" + minutes + "分" + seconds + "秒");*/
daojishi = days + "-" + hours + "-" + minutes + "-" + seconds;
System.out.println("日期时间差==" + daojishi);
我这边是time1 是获取当前手机上的时间, time2 是获取数据库上的保存的时间 格式为:2019-4-13 10:23:54 当然这种格式是不能用于计算的 ,我们用 simpleDateFormat.parse(time1) 转换一才可以用于加减运算,我这边用的时间减运算。
这样就可以得到你想要的时间差了,这样虽然可以,但是他会出现负数,这是我们不想要的结果,我们可以根据天、小时,分钟,秒 来进行判断他的值
/*时间判断/
if (days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0) {
System.out.println("时间已过期");
}else{
System.out.println("时间有效");
}
我就不把实际的运行结果,放出来了 ,我们可以看自己的需要来使用吧。