Convert between LocalDate and XMLGregorianCalendar

前端 未结 4 1308
夕颜
夕颜 2020-12-08 13:05

What\'s the best way to convert between LocalDate from Java 8 and XMLGregorianCalendar?

4条回答
  •  独厮守ぢ
    2020-12-08 13:31

    To convert from LocalDate to XMLGregorianCalendar you can use

    LocalDate localDate = ...;
    GregorianCalendar calender = new GregorianCalendar();
    Date utilDate = Date.from( localDate.atStartOfDay( ZoneId.systemDefault() ).toInstant() );
    calender.setTime(utilDate);     
    XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(calender);
    

    And to convert XMLGregorianCalendar back to LocalDate:

    XMLGregorianCalendar xmlCal = ...;
    Date utilDate = xmlCal.toGregorianCalendar().getTime();
    LocalDate localDate = LocalDateTime.ofInstant( utilDate.toInstant(), ZoneId.systemDefault() ).toLocalDate();
    

提交回复
热议问题