java - meses - joda-time examples
Cómo encontrar la diferencia entre dos tiempos de fecha Joda-Time en minutos (3)
A continuación está el método que escribí:
public List<Map<String, Object>> 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<String, Object>> result = new ArrayList<Map<String, Object>>();
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;
}
Ahora, desde mi método, puedes ver que tengo un objeto Joda-Time DateTime en un objeto llamado datetime
y de mi resultado obtengo una marca de tiempo que estoy convirtiendo a jodatime punchTime
. Ahora quiero averiguar la diferencia entre estas dos fechas, ¿cómo hago eso?
Gracias por adelantado
Algo como...
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());
Que salidas
1
24
1440
o
System.out.println(Minutes.minutesBetween(yesterday, today).getMinutes());
¿Cuál es probablemente más de lo que buscas?
Algo como...
Minutes.minutesBetween(getStart(), getEnd()).getMinutes();
Esto le dará la diferencia entre dos objetos DateTime en milisegundos:
DateTime d1 = new DateTime();
DateTime d2 = new DateTime();
long diffInMillis = d2.getMillis() - d1.getMillis();