Di seguito è riportato il metodo che ho scritto:
public List<Map> loadNotYetInEmployee(int shift, Date date, int transitionVal, String type, User user) { DateTime datetime = new DateTime(date); datetime = datetime .plus(Period.minutes(shiftTiming.getSession1InTime())); List<Map> result = new ArrayList<Map>(); sql = SqlMapUtils.getSql("attendance.attendancestatus.latein", parameters); result = getJdbcTemplate().queryForList(sql); for (int i = 0; i < result.size(); i++) { Date punchInTime = (Date) result.get(i).get("punchtime"); DateTime punchTime = new DateTime(punchInTime); } return result; }
Ora dal mio metodo puoi vedere che ho un object DateTime Joda-time nell’object denominato datetime
e dal mio risultato sto ottenendo un timestamp che sto convertendo in jodatime punchTime
. Ora voglio scoprire la differenza tra queste due date, come faccio?
Grazie in anticipo
Questo ti farà ottenere la differenza tra due oggetti DateTime in millisecondi:
DateTime d1 = new DateTime(); DateTime d2 = new DateTime(); long diffInMillis = d2.getMillis() - d1.getMillis();
Qualcosa di simile a…
DateTime today = new DateTime(); DateTime yesterday = today.minusDays(1); Duration duration = new Duration(yesterday, today); System.out.println(duration.getStandardDays()); System.out.println(duration.getStandardHours()); System.out.println(duration.getStandardMinutes());
Quali uscite
1 24 1440
o
System.out.println(Minutes.minutesBetween(yesterday, today).getMinutes());
Che è probabilmente più quello che stai cercando
Qualcosa di simile a…
Minutes.minutesBetween(getStart(), getEnd()).getMinutes();