-
[apex] 두 날짜 간의 차이 계산 방법 ( How to calculate the difference between two dates)Apex 2024. 8. 17. 21:49
1. 예시 코드 확인
Date ExcutionStartDate = Date.newInstance(2024, 8, 1); Date ExcutionEndDate = Date.newInstance(2024, 8, 17); if (ExcutionStartDate != null && ExcutionEndDate != null) { // 두 날짜 사이의 일 수 차이 계산 Integer daysDifference = ExcutionStartDate.daysBetween(ExcutionEndDate) + 1; // 주 단위와 일 단위 계산 Integer ExcutionWeek = Math.floor(daysDifference / 7); Integer ExcutionDay = Math.mod(daysDifference, 7); // 출력 (디버그 로그에 출력) System.debug('주 단위: ' + ExcutionWeek); System.debug('일 단위: ' + ExcutionDay); }
- ExcutionStartDate와 ExcutionEndDate는 시작 날짜와 종료 날짜를 나타냅니다.
- daysBetween() 메서드는 두 날짜 사이의 일 수 차이를 계산합니다.
- 그 차이를 7로 나누어 주(ExcutionWeek)를 계산하고, 나머지로 일(ExcutionDay)을 계산합니다.
2. 체크 사항 : 날짜에 +1을 해주는 이유는?
- Integer daysDifference = ExcutionStartDate.daysBetween(ExcutionEndDate) + 1;
- 시작일과 종료일 모두를 포함하려는 경우 때문
- 기본적으로 daysBetween() 메서드는 두 날짜 사이의 일수만 계산하고, 시작일과 종료일은 포함하지 않는다.
시작일이 2024-08-01이고 종료일이 2024-08-03일 때:
- daysBetween()은 2일을 반환합니다.
- 여기에 +1을 더하면, 3일이 됩니다. 이는 08-01, 08-02, 08-03의 세 날짜를 모두 포함한 기간입니다.
반응형