Return TypeFunction nameArguments
voidhzXDate::altmon(int,)

Declared in file: hzDate.h
Defined in file : hzDate.cpp

Function Logic:

0:START 1:days _datefromdays 2:nounits>0 3:nounits>0; 4:nounits>12 5:items nounits 6:M 7:D>(M==2?(!(Y%400)?1:!(Y%100)?0:!(Y%4)?1:0)?29:28:M==4||M==6||M==9||M==11?30:31) 8:D 9:nounits<0 10:nounits<0; 11:nounits<-12 12:items nounits 13:M 14:D>(M==2?(!(Y%400)?1:!(Y%100)?0:!(Y%4)?1:0)?29:28:M==4||M==6||M==9||M==11?30:31) 15:D 16:_daysfromdate days days m_hour 17: No text

Function body:

void hzXDate::altmon (int nounits)
{
   uint32_t    days ;
   uint32_t    Y ;
   uint32_t    M ;
   uint32_t    D ;
   days = m_hour/24;
   _datefromdays(Y, M, D, days) ;
   if (nounits > 0)
   {
       for (; nounits > 0; nounits--)
       {
           if (nounits > 12)
               { Y++ ; nounits -= 11;continue ; }
           M = M == 12?1: M + 1;
       }
       if (D > monlen(Y, M))
           D = monlen(Y, M) ;
   }
   if (nounits < 0)
   {
       for (; nounits < 0; nounits++)
       {
           if (nounits < -12)
               { Y-- ; nounits += 11;continue ; }
           M = M == 1? 12:M - 1;
       }
       if (D > monlen(Y, M))
           D = monlen(Y, M) ;
   }
   _daysfromdate(days, Y, M, D) ;
   days *= 24;
   days += (m_hour%24);
   m_hour = days ;
}