|
昨天碰到一个需求,其中有一点是要从数据库里获得时间数据,然后跟当前时间比较,求得相差了多少分钟。其中比较坑的地方就是这个数据库里的时间格式是: HH:mm,当时有点被水淹没,不知所措。然后就理了一下思路,有一点挺好的地方就是这个数据库里的时间数据我只用获得今天的,那么我就可以先把现在的时间转换成HH:mm格式,然后把数据库的数据转换成date类型,这样不就可以获得相差的分钟数了吗!
//先获取到当前的时间,并且拼接成HH:mm格式的字符串。
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
String hour_minute = hour + ":" + minute;
//把当前时间和要比较的时间转换为Date类型,目的在于得到这两个时间的毫秒值
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Date parse = null;
Date now = null;
try {
parse = sdf.parse(time);
now = sdf.parse(hour_minute);
} catch (ParseException e) {
log.error("时间转换异常!");
}
//获得这两个时间的毫秒值后进行处理(因为我的需求不需要处理时间大小,所以此处没有处理,可以判断一下哪个大就用哪个作为减数。)
long diff = now.getTime() - parse.getTime();
//此处用毫秒值除以分钟再除以毫秒既得两个时间相差的分钟数
long minute = diff/60/1000; |
————————————————
原文链接:https://blog.csdn.net/qq_39513155/article/details/83786115
程序猿的技术大观园:www.javathinker.net
|
|