반응형
두 Joda-Time DateTimes 간의 차이를 분 단위로 찾는 방법
제가 쓴 방법은 다음과 같습니다.
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-TimeDateTime 객체가 오브젝트에 있는 것을 알 수 있습니다.datetime
그리고 나의 결과로부터 나는 jodatime으로 변환하는 하나의 타임스탬프를 받고 있다.punchTime
이제 이 두 날짜의 차이를 알아보겠습니다. 어떻게 하면 될까요?
뭐랄까...
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());
어떤 게 더 당신이 원하는지
이렇게 하면 두 DateTime 개체 간의 차이를 밀리초 단위로 확인할 수 있습니다.
DateTime d1 = new DateTime();
DateTime d2 = new DateTime();
long diffInMillis = d2.getMillis() - d1.getMillis();
뭐랄까...
Minutes.minutesBetween(getStart(), getEnd()).getMinutes();
DateTime d1 = ...;
DateTime d2 = ...;
Period period = new Period(d1, d2, PeriodType.minutes());
int differenceMinutes = period.getMinutes();
실제로, 저는 이것이 항상 다음에 근거하는 대답과 같은 결과를 줄 것이라고 생각합니다.Duration
그러나 분 단위보다 다른 시간 단위는 더 정확할 수 있습니다.예를 들어 2016/2/2부터 2017/2/1까지 365일이 있지만 실제로는 1년 미만이며 사용 시 0년으로 단축해야 합니다.PeriodType.years()
.
이론적으로는 윤초 때문에 몇 분간 같은 일이 일어날 수 있지만, Joda는 윤초를 지원하지 않습니다.
언급URL : https://stackoverflow.com/questions/12851934/how-to-find-difference-between-two-joda-time-datetimes-in-minutes
반응형
'sourcecode' 카테고리의 다른 글
Python의 빌트인 사전은 어떻게 구현됩니까? (0) | 2022.09.17 |
---|---|
MariaDB 10.1 암호화 확인 (0) | 2022.09.17 |
속도 향상 인텔리J-Idea (0) | 2022.09.17 |
Java에서 대소문자를 구분하지 않는 리터럴 서브스트링을 교체하는 방법 (0) | 2022.09.17 |
작업 작성자의 Redx 상태에 액세스하시겠습니까? (0) | 2022.09.17 |