Ответ 1
Это даст вам разницу между двумя объектами DateTime в миллисекундах:
DateTime d1 = new DateTime();
DateTime d2 = new DateTime();
long diffInMillis = d2.getMillis() - d1.getMillis();
Ниже приведен метод, который я написал:
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;
}
Теперь из моего метода вы можете видеть, что у меня есть Joda-Time DateTime в объекте с именем datetime
, и из моего результата я получаю одну метку времени, которую я конвертирую в jodatime punchTime
. Теперь я хочу узнать разницу между этими двумя датами, как мне это сделать?
Спасибо заранее
Это даст вам разницу между двумя объектами DateTime в миллисекундах:
DateTime d1 = new DateTime();
DateTime d2 = new DateTime();
long diffInMillis = d2.getMillis() - d1.getMillis();
Что-то вроде...
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());
Какие выходы
1
24
1440
или
System.out.println(Minutes.minutesBetween(yesterday, today).getMinutes());
Скорее всего, это то, что вы после