bigdata-mx / factura-electronica

Librería de componentes Java para el desarrollo de aplicaciones de Factura Electrónica (CFDI)
Apache License 2.0
94 stars 107 forks source link

CFDI33101 El campo Fecha no cumple con el patrón requerido. #187

Closed 4Eagles closed 6 years ago

4Eagles commented 6 years ago

Que tal, descargue el código, compile con jdk1.8.0_121 (haciendo el cambio en el pom.xml), hasta ahí todo bien, se generó el jar, pero al hacer mi prueba de timbrado me regresa el error de que el formato de fecha está mal formado. Revisando el xml en el campo de fecha tengo éste formato Fecha="2017-11-10T01:44:15.000-06:00" en vez de Fecha="2017-11-10T01:44:15".
El campo lo estoy llenando con: GregorianCalendar c = new GregorianCalendar(); XMLGregorianCalendar date = DatatypeFactory.newInstance().newXMLGregorianCalendar(c); comprobante.setFecha(date);

¿Alguna recomendación para evitar este formato?

4Eagles commented 6 years ago

Una disculpa me fui a buscar en el lugar equivocado, la solución es usar la clase DateFormat. DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss"); Date date = new Date(); XMLGregorianCalendar xmlGC = DatatypeFactory.newInstance().newXMLGregorianCalendar(format.format(date)); comprobante.setFecha(xmlGC);