void EthiopicCalendar::handleComputeFields(int32_t julianDay, UErrorCode &/*status*/) { int32_t eyear, month, day, era, year; jdToCE(julianDay, getJDEpochOffset(), eyear, month, day); if (isAmeteAlemEra()) { era = AMETE_ALEM; year = eyear + AMETE_MIHRET_DELTA; } else { if (eyear > 0) { era = AMETE_MIHRET; year = eyear; } else { era = AMETE_ALEM; year = eyear + AMETE_MIHRET_DELTA; } } internalSet(UCAL_EXTENDED_YEAR, eyear); internalSet(UCAL_ERA, era); internalSet(UCAL_YEAR, year); internalSet(UCAL_MONTH, month); internalSet(UCAL_DATE, day); internalSet(UCAL_DAY_OF_YEAR, (30 * month) + day); }
void CopticCalendar::handleComputeFields(int32_t julianDay, UErrorCode &/*status*/) { int32_t eyear, month, day, era, year; jdToCE(julianDay, getJDEpochOffset(), eyear, month, day); if (eyear <= 0) { era = BCE; year = 1 - eyear; } else { era = CE; year = eyear; } internalSet(UCAL_EXTENDED_YEAR, eyear); internalSet(UCAL_ERA, era); internalSet(UCAL_YEAR, year); internalSet(UCAL_MONTH, month); internalSet(UCAL_DATE, day); internalSet(UCAL_DAY_OF_YEAR, (30 * month) + day); }