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:

Napíšte komentár