java跟oracle如何计算时间差?

java计算时间差:
//计算入职时间
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
String date = ("2017-08-24");
Date entertime = sf.parse(date);
Date nowdate = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(entertime);
long time1 = cal.getTimeInMillis();
cal.setTime(nowdate);
long time2 = cal.getTimeInMillis();
long between_days = (time2 - time1) / (1000 * 3600 * 24);
这样计算得出的结果为相差多少天,如果需要其他时间差可以改变除法后面的数字得到。
oracle计算时间差:
要求两个类型都是DATE类型

天:

ROUND(TO_NUMBER(END_DATE - START_DATE))

小时:

ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)

分钟:

ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)

秒:

ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)

毫秒:

ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)

ORACLE计算时间差