먼저 휴가 신청 규칙에 대해 말씀드리겠습니다.
1. 오전에 휴가를 신청하는 경우 소요 시간은 3시간 이상이어야 합니다
2. 오후에는 5시간 이상
3. 근무시간 : 9:00~18:00
4. 정오에는 1시간의 휴무시간이 있습니다
회사 시스템상 초과근무에 대한 초과근무 수당은 없지만, 휴가를 낼 수 있으므로 시간은 반드시 시간 단위로 정확해야 합니다. 그렇다면 다음 질문이 떠오릅니다.
1. 휴가 요청 시간이 오전부터 오후까지라면 규정은 충족되지만 시스템 계산 시간은 1시간 더 길어집니다.
내 해결 방법은 먼저 시작 시간과 축제 시간이 같은 날인지 확인한 다음 시작 시간이 오전인지, 종료 시간이 오후인지 확인하는 것입니다. 만족하면 시스템이 다시 시간을 계산하여 1시간을 뺍니다
2. 어떤 사람들이 멍청해서 근무시간 외에 시작시간과 종료시간을 선택했다면, 예를 들어 종료시간이 18시 이후라면 18시 이후에 시간을 뺄지 판단해야 합니다.
3. 가장 문제가 되는 것은 휴일에 법정 공휴일, 주말, 기타 특별한 사정이 포함되는 경우입니다. 일수에 걸쳐 있는 정수가 아닌 숫자도 있습니다. 예를 들어 3일 후 오전 11시만 요청하는 경우 3일 후 0시부터 9시까지의 기간을 어떻게 삭제할 수 있나요?
생각이 좀 헷갈려서 경험 많은 선배님들의 경험담 부탁드리고 싶습니다. 감사합니다! !답글 내용:
1. 오전에 휴가를 신청하는 경우 소요 시간은 3시간 이상이어야 합니다
2. 오후에는 5시간 이상
3. 근무시간 : 9:00~18:00
4. 정오에는 1시간의 휴무시간이 있습니다
회사 시스템상 초과근무에 대한 초과근무 수당은 없지만, 휴가를 낼 수 있으므로 시간은 반드시 시간 단위로 정확해야 합니다. 그렇다면 다음 질문이 떠오릅니다.
1. 휴가 요청 시간이 오전부터 오후까지라면 규정은 충족되지만 시스템 계산 시간은 1시간 더 길어집니다.
3. 가장 문제가 되는 것은 휴일에 법정 공휴일, 주말, 기타 특별한 사정이 포함되는 경우입니다. 일수에 걸쳐 있는 정수가 아닌 숫자도 있습니다. 예를 들어 3일 후 오전 11시만 요청하는 경우 3일 후 0시부터 9시까지의 기간을 어떻게 삭제할 수 있나요?
생각이 좀 헷갈려서 경험 많은 선배님들의 경험담 부탁드리고 싶습니다. 감사합니다! !
크로스데이는 사실 당일과 별차이가 없습니다. 어쨌든 매일 휴가 신청 시간은 9시부터 18시까지입니다.
제1심사
(시작-끝) )/(24X3600)=일수, 1보다 큰 경우 설명은 2016-08-30 10:30-2016-09-04 12:00과 같이 일수에 걸쳐 적용됩니다. 08-30과 09-04의 상황을 계산해야 합니다. 그 사이의 날짜는 7* 3=21시간입니다
언데이(일 + 휴가요청)
if 조건이 좀 더 귀찮네요
종료시간<= 12시, 오전출발
나머지는 기본적으로 Span-Segment 입니다. 오전, 오후에 Span-Segment만 계산하시면 됩니다.
0~9, 12~13, 18~0 구간에서는 중복된 부분은 카운트되지 않습니다