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.