jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java
changeset 17474 8c100beabcc0
parent 15658 55b829ca2334
child 25966 71ee1f15845e
equal deleted inserted replaced
17473:35cd9b3a98ff 17474:8c100beabcc0
   244         if (era != null) {
   244         if (era != null) {
   245             if (!validateEra(era)) {
   245             if (!validateEra(era)) {
   246                 return false;
   246                 return false;
   247             }
   247             }
   248             ldate.setNormalizedYear(era.getSinceDate().getYear() + ldate.getYear() - 1);
   248             ldate.setNormalizedYear(era.getSinceDate().getYear() + ldate.getYear() - 1);
   249             // If it's not the last Era, validate the date.
   249             Date tmp = newCalendarDate(date.getZone());
   250             if (era != eras[eras.length - 1]) {
   250             tmp.setEra(era).setDate(date.getYear(), date.getMonth(), date.getDayOfMonth());
   251                 Date tmp = newCalendarDate(date.getZone());
   251             normalize(tmp);
   252                 tmp.setEra(era).setDate(date.getYear(), date.getMonth(), date.getDayOfMonth());
   252             if (tmp.getEra() != era) {
   253                 normalize(tmp);
   253                 return false;
   254                 if (tmp.getEra() != era) {
       
   255                     return false;
       
   256                 }
       
   257             }
   254             }
   258         } else {
   255         } else {
       
   256             if (date.getYear() >= eras[0].getSinceDate().getYear()) {
       
   257                 return false;
       
   258             }
   259             ldate.setNormalizedYear(ldate.getYear());
   259             ldate.setNormalizedYear(ldate.getYear());
   260         }
   260         }
   261         return super.validate(ldate);
   261         return super.validate(ldate);
   262     }
   262     }
   263 
   263