Fechas en formato ISO y hora UTC

Hola.

Estoy importando con el API fechas en formato ISO y hora UTC “yyyyMMssT00:00:00.000z”.
El caso es que no sé como guardarlas directamente en un campo de Velneo.

  • La instrucción new Date(“yyyyMMssT00:00:00.000z”) no me funciona en el API.
  • la función setField(campo, “yyyyMMssT00:00:00.000z”) no cambia la hora a la zona horaria Local.

¿Cómo lo hacéis de forma lo más óptima posible?

Saludos
Paco Satué

Yo la verdad que para manejar fechas en javascript me he decantado por usar http://momentjs.com/

De todas formas creo que estás inicializando mal el objeto Date de javascript
Aquí tienes una explicación: http://stackoverflow.com/questions/3505693/difference-between-datedatestring-and-new-datedatestring

Aunque aquí si veo que usan el formato ISO: http://stackoverflow.com/questions/15517024/how-to-assume-local-time-zone-when-parsing-iso-8601-date-string

Por eso mismo creo que me decante por usar una librería externa.

Hola Manuel.

Disculpa, he puesto mal el formato ISO, es en realidad “yyyy-MM-ssT00:00:00.000z”. Faltaban los guiones.

En javascript de mi explorador (Firefox) funciona perfectamente, pruébalo en new Date(“2016-01-20T19:10:00.000Z”).

Lo gordo es que en el API de Velneo no funciona y de esta forma no hay manera de obtener una fecha a partir de un String ISO.
Voy a ver que me cuenta Soporte sobre esta broma.

En cuanto a la función setField(campo, “yyyy-MM-ssT00:00:00.000z”) recurriendo al ancestral método de prueba y error y a falta de documentación, he probado a usar campos Tiempo en lugar de campos Fecha y entonces la conversión de la zona horaria local se realiza correctamente.

Por lo tanto, tenemos que usar campos de tipo Tiempo si queremos exportar/importar correctamente mediante el API y respetando la zona horaria. Yo uso casi siempre campos de tipo Fecha porque no hago uso de la Hora pero está claro que no es una buena idea si vamos a conectar con el mundo exteruor a través del API.

En cuanto a la librería http://momentjs.com/ parece cojonuda y la voy a incorporar a mi Framework ahora mismo. Gracias por el aporte.

Saludos
Paco Satué

Este… ¿cómo se hace para incorporar esa librería al framework? disculpad la ignorancia

Es un ficharo js, adjuntando al proyecto y luego con include lo añades al script que necesites. A partir de ahí la documentación de la propia librería.

Espectacular…!
gracias!

Hola Manuel.

Confirmarte que Soporte ha reconocido el “error del engine de JavaScript que usa Velneo” por el cual es incapaz de parsear las fechas en formato ISO “yyyy-MM-ssT00:00:00.000z” tal como lo define el Standard ECMA-262.
Se ha incluido en el programa de gestión de Incidencias.

Si queremos avanzar en la gestión de JSON para el desarrollo de los API REST y uso de XmlHttpRequest, es importante que solucionen este bug cuanto antes.

Saludos
Paco Satué