2016-08-04 1 views
0

나는 다른 계산을하기 위해 일한 시간이 필요하며, 밤새 일하면 시간이 모두 음수로 되돌아옵니다. 다음은 제가 계산 한 시간입니다. (([EndTime]-[StartTime])*24*60) 그들이 같은 날에 교대를 끝내면 계산은 잘되지만 6시에서 6시 사이에 일하면 총 교대 시간이 -720이됩니다. 모든 계산은 길에 있습니다. 누구든지 부정적인 시간을 정확하게 보여줄 수있는 방법을 알고 있습니까? 감사!야간 근무를 계산하려고 할 때 부정적인 시간이 있습니다.

+0

'EndTime'과'StartTime'의 데이터 유형은 무엇입니까? – Brad

답변

0

당신은이 공식을 사용할 수 있습니다 "n" 당신이 분 같은 그 날짜 사이의 시간 차이를 원하는 말한다

Datediff("n", StartTime, EndTime) 

.

음수가 계속 나오면 날짜와 시간을 함께 저장하지 않은 것으로 의심됩니다.

당신이 표현 사용할 수 있습니다
1

: 귀하의 예를 들어

Minutes = (1 + EndTime - StartTime) * 24 * 60 Mod 24 * 60 

는, 값은 다음과 같습니다

Minutes = (1 + #6:00# - #18:00#) * 24 * 60 Mod 24 * 60 

이는 날짜 데이터 유형이있다는 사실에 근거 오래된 속임수 사이의 "문서화되지 않은 창"은 숫자 값 0과 -1을 포함하지 않습니다.

따라서 제한은 24 시간 미만의 기간 동안 만 작동한다는 것입니다.

+0

구스타프 고맙습니다, 아직 수식을 수정하고 있습니다. 나는 그것을 올바르게 한 번 게시 할 것입니다. :) – Flammie

+0

무엇을 조정할 지 모릅니다. 더 간단 할 수 없습니다. – Gustav