Pregunta

Estoy manejando una REST API de datos JSON, que está creciendo en su alcance. Actualmente, estamos volviendo todas las fechas sobre el alambre en forma de cadenas "AAAA-MM-DD", pero también tenemos que representar el concepto de fechas parciales.

Lo que quiero decir con una fecha parcial es un valor de fecha que tiene componentes desconocidos, ya sea un año-mes, o un año. En nuestra capa de presentación, esto se traduce como:

2009-09-03 =>  '3rd September 2009'
2009-09    =>  'September 2009'
2009       =>  'Undated 2009'

¿Hay algún precedente o estándar para este tipo de datos? Por ejemplo, MySQL permite esto al permitir 00 valores en los campos de fecha y de fecha y hora - por ejemplo: '2009-00-00' salvará directamente a un campo de fecha MySQL, pero este valor no se traduce sistemáticamente cuando analizado por las bibliotecas fecha la mayoría de los lenguajes de programación .

¿Cuál es la mejor manera de representar semánticamente este concepto de fechas parciales en la alimentación JSON?

Lo ideal sería poder implementar una solución que fuera fácil para nuestros consumidores para analizar, sino también fácil de explicar en la documentación.

¿Fue útil?

Solución

EDIT: Pensando en esto de nuevo, AAAA-MM y AAAA son ambos href="http://en.wikipedia.org/wiki/ISO_8601" 8601 , por lo que probablemente sería mejor utilizar sólo eso.

No hay un estándar para fechas JSON (de cualquier tipo), dado que JSON es un subconjunto de la sintaxis literal de JavaScript, y JS no tiene literales de fecha. Ver http://msdn.microsoft.com/en-us/library /bb299886.aspx#intro_to_json_sidebarb .

Otros consejos

Usted puede encontrar su solución @ www.datejs.com

Gracias.

En términos de almacenamiento, puede almacenar la ambigüedad mediante el almacenamiento de año, mes y día en columnas separadas, y permitiendo nulos. De esa manera se puede consultar con la concatenación de cadenas y de la coalescencia (día, '00' ) funciona para agarrar un '00' si una columna está en blanco.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top