java xml

java - xmlgregoriancalendar format



¿Cuál es la mejor manera de convertir XMLGregorianCalendar a MM/dd/aaaa hh: mm String? (4)

Este ejemplo convierte XMLGregorianCalendar a la fecha

XMLGregorianCalendar xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()); Date date = xmlCalendar.toGregorianCalendar().getTime();

Este ejemplo convierte fecha a cadena

DateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm"); String dateStr = df.format(GregorianCalendar.getInstance().getTime());

¿Cuál es la mejor manera de convertir objetos XMLGregorianCalendar a ''MM / dd / aaaa hh: mm'' String?


Este es un ejemplo que está buscando:

XMLGregorianCalendar date = ...; // initialization is out of scope for this example SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm"); GregorianCalendar gc = date.toGregorianCalendar(); String formatted_string = sdf.format(gc.getTime());


Puedes usar el método toGregorianCalendar() para esto.

P.ej:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm"); String date = sdf.format(xmlGregorianCalendar.toGregorianCalendar().getTime());

En caso de que necesite convertir ese calendario a diferentes zonas horarias y toGregorianCalendar() , use toGregorianCalendar()


Primero use XMLGregorianCalendar#toGregorianCalendar() para obtener una instancia java.util.Calendar de ella.

Calendar calendar = xmlGregorianCalendar.toGregorianCalendar();

A partir de ese paso, todo es obvio con una pequeña ayuda de SimpleDateFormat la forma habitual.

SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm"); formatter.setTimeZone(calendar.getTimeZone()); String dateString = formatter.format(calendar.getTime());

Solo me pregunto si realmente no quieres usar HH lugar de hh ya que no estás formateando el marcador de am / pm en ningún lugar.