result.setGregorianChange(PURE_GREGORIAN_CHANGE);
// if year( and eon) are undefined, leave default Calendar values
BigInteger year = getEonAndYear();
if (year != null) {
result.set(Calendar.ERA, year.signum() == -1 ? GregorianCalendar.BC : GregorianCalendar.AD);
result.set(Calendar.YEAR, year.abs().intValue());
}
// only set month if it is set
if (month != DatatypeConstants.FIELD_UNDEFINED) {