另一个时间字段是从数据库中获取出来的。
需要先把数据库获取的时间格式转化成String,在通过parse()方法转换,才可进行时间的比较。
// 设置时间格式
SimpleDateFormat df= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 当前时间
Date now = new Date();
// 入职时间(数据库获取的时间格式)
Date joinTime = summaryMapper.selectJoinTimeById(userId);
String dateStart = df.format(joinTime);
try {
Date d1=df.parse(dateStart);
// 时间差:天、时、分、秒
long diff = now.getTime() - d1.getTime();
long diffDays = diff / (24 * 60 * 60 * 1000);
long diffHours = diff / (60 * 60 * 1000) % 24;
long diffMinutes = diff / (60 * 1000) % 60;
long diffSeconds = diff / 1000 % 60;
System.out.print(diffDays + " 天");
System.out.print(diffHours + " 时");
System.out.print(diffMinutes + " 分");
System.out.print(diffSeconds + " 秒");
} catch (ParseException e) {
e.printStackTrace();
}