나는 주어진 두 시간의 차이를 안드로이드 앱에서 계산하려고합니다. 이 작업을 수행하기 위해 JodaTime과 Period 클래스를 Period의 getYears(), getDays(), getHours(), getMinutes() 및 getSeconds() 메서드와 함께 사용했습니다. 그러나 나는 그것이 날짜의 각 요소 사이의 절대적인 차이라고 생각하는 것을주는 것을 깨달았다. 예를 들어, 날짜에 내 함수를 호출 2017-01-29 00:00:00 (yyyy-MM-dd HH:mm:ss)
및 2018-01-28 00:00:00
는 반환합니다JodaTime 기간이 예상치 못한 결과를 반환합니다.
0 years
2 days
0 hours
0 minutes
0 seconds
는 다른 모든 부분에서 제로와 함께 364 days
을 반환해야 할 때. 물론, 그것은 안드로이드 애플 리케이션이므로 나는 그들을 인쇄하지 오전, 나는 별도로 디스플레이를 처리하고 있습니다. LocalDateTime과 Duration.between를 사용하여 컴퓨터에서이 작업을 수행 할 수 있었지만 여기에서이 클래스를 사용할 수는 없습니다. 내 현재 방법에 대한 수정 사항 (아래에 있음) 또는 완전히 새로운 접근 방법에 대한 제안을 찾고 있습니다. 미리 감사드립니다. 현재 기능 :
public int[] getDifference(DateTime start, DateTime end){
Period p = new Period(start, end);
int[] differences = new int[5];
differences[0] = p.getYears();
differences[1] = p.getDays();
differences[2] = p.getHours();
differences[3] = p.getMinutes();
differences[4] = p.getSeconds();
return differences;
}
기간은 원하는대로 - 왜 사용할 수 없습니까? – GreyBeardedGeek