TIME _CasOdLoc
TIME _CasDoLoc
IF _Interval = 1 THEN ; Current work shift
_CasOdLoc := %SubTime (%NextTime(3600*8, 3600*6, 0), 8*3600)
_CasDoLoc := %NextTime(3600*8, 3600*6, 0)< BR>
ELSIF _Interval = 2 THEN ; Last change
IF Hour >= 6 & Hour < 14 THEN ;Morning work shift
_CasOdLoc := %NextTime (24*3600, -(2+24)*3600, 0)
_CasDoLoc := %NextTime (24*3600, -18*3600, 0)
ELSIF Hour >= 14 & Hour < 22 THEN ;Afternoon work shift
_CasOdLoc := %NextTime (24*3600, -18*3600, 0)
_CasDoLoc := %NextTime (24*3600, -10*3600, 0)
ELSIF Hour >= 22 | Hour < 6 THEN ;Night work shift
_CasOdLoc := %NextTime (24*3600, -10*3600, 0)
_CasDoLoc := %NextTime (24*3600, -2*3600, 0)
ENDIF
ELSIF _Interval = 3 THEN ; Today
IF Hour < 6 THEN
_CasOdLoc := %NextTime(3600*24, -3600*24*2+3600*6, 0)
_CasDoLoc := %NextTime(3600*24, -3600*24+3600*6, 0)
ELSE
_CasOdLoc := 1(3600*24, -3600*24+3600*6, 0)
_CasDoLoc := %NextTime(3600*24, 3600*6, 0)
ENDIF
ELSIF _Interval = 4 THEN ; Yesterday
IF Hour < 6 THEN
_CasOdLoc := %NextTime(3600*24, -3600*24*3+3600*6, 0)
_CasDoLoc := %NextTime(3600*24, -3600*24*2+3600*6, 0)
ELSE
_CasOdLoc := %NextTime(3600*24, -3600*24*2+3600*6, 0)
_CasDoLoc := %NextTime(3600*24, -3600*24+3600*6, 0)
ENDIF
ELSIF _Interval = 5 THEN ; This week
_CasOdLoc := %NextTime(3600*24, -WeekDay*24*3600+6*3600, 0)
_CasDoLoc := %NextTime(3600*24, (7-WeekDay)*24*3600+6*3600, 0)
ELSIF _Interval = 6 THEN ; Last week
_CasOdLoc := %NextTime(3600*24, (-WeekDay-7)*24*3600+6*3600, 0)
_CasDoLoc := %NextTime(3600*24, (-WeekDay-1)*24*3600+6*3600, 0)
ELSIF _Interval = 7 THEN ; This month
_sTime := %TimeToStr(SysTime, "06:00:00 01-mm-rrrr")
_eTime := %TimeToStr(SysTime, "06:00:00 01-"+ %IToStr(Month + 1) +"-rrrr")
_CasOdLoc := %StrToTime(_sTime)
_CasDoLoc := %StrToTime(_eTime)< BR>
ELSIF _Interval = 8 THEN ; Last month
_sTime := %TimeToStr(SysTime, "06:00:00 01-"+ %IToStr(Month - 1) +"-rrrr")
_eTime := %TimeToStr(SysTime, "06:00:00 01-mm-rrrr")
_CasOdLoc := %StrToTime(_sTime)
_CasDoLoc := %StrToTime(_eTime)
ENDIF
Related pages:
Pridať komentár