FX_BOOL CFX_Unitime::AddYears(int32_t iYears) { FX_UNITIME ut = m_iUnitime; if (ut < 0) { ut = -ut; } FX_UNITIME r = ut % g_FXMillisecondsPerDay; int32_t iYear; uint8_t iMonth, iDay; FX_DaysToDate(GetDayOfAD(), iYear, iMonth, iDay); iYear += iYears; if (iYear == 0) { iYear = iYears > 0 ? 1 : -1; } m_iUnitime = FX_DateToDays(iYear, iMonth, iDay, FALSE) * g_FXMillisecondsPerDay; m_iUnitime += (iYear < 0) ? -r : r; return TRUE; }
FX_WORD CFX_Unitime::GetDayOfYear() const { int32_t iYear; uint8_t iMonth, iDay; FX_DaysToDate(GetDayOfAD(), iYear, iMonth, iDay); return FX_DaysBeforeMonthInYear(iYear, iMonth) + iDay; }
uint8_t CFX_Unitime::GetDay() const { int32_t iYear; uint8_t iMonth, iDay; FX_DaysToDate(GetDayOfAD(), iYear, iMonth, iDay); return iDay; }