3 일 또는 5 주 (한 가지 필드 유형 만있는 기간)와 같은 기간이 주어지면 주어진 DateTime
을 가장 가까운 단위로 반올림합니다 기간 (즉, '5 일'의 5를 무시하십시오). 예 :Joda-Time을 사용하여 주어진 기간을 기준으로 DateTime을 반올림합니다.
예 1 :
- 기간 : 삼일.
- 날짜 시간 : 수요일 세계 협정시 오전 4시 26분 (2013-05-15T04 : 26 : 00Z)
- 둥근 날짜 시간 : 수요일 자정 UTC (2013-05-15T00 : 00 : 00Z)
예 2 :
- 기간 : 오주.
- 날짜 시간 : 수요일 세계 협정시 오전 4시 26분 (2013-05-15T04 : 26 : 00Z)
- 둥근 날짜 시간 : 월요일 자정 UTC (2013-05-13T00 : 00 : 00Z)
초기 생각은 Period
의 DurationFieldType getFieldTypes()
방법을 사용하고 DateTime
(가장 큰 필드 아래)의 모든 일치하는 필드에 대해 0으로 설정하는 것이 었습니다. 그러나 DateTime
에서 DateTimeFieldType
을 가져 오는 방법과 DurationFieldType
과 비교하는 방법을 모르겠습니다.
큰 if else
접근 방법을 선호하지 않습니다. 코멘트
예, 나는 열심히 내 문제를 표현하는 발견했다. 당신은 완벽하게 이해합니다. 40 개월의 기간은 정확히 1 개월과 같습니다. 나는 LocalDateTime을 사용하여 조사 할 것이다. – Kevin
그러나 '2013-05-13'을 5 주 동안 어떻게 얻는 지 설명해 주시겠습니까? 당신은 일년 내내 세고 있으며 가장 가까운 배수 인 5를 고르고 있습니까? – leonbloy
저는 'weeks'단위 만 신경 쓰고, 주어진 'DateTime'을 가장 가까운 주 시작 부분으로 반올림합니다. 40 개월과 동일하게, 가장 가까운 달로 내림하고 싶습니다 (주어진'DateTime'에서). 나는 40 개월과 같은 기간을 받아 들여야하지만이 계산에는 '월'부분 만 필요합니다. – Kevin