代码之家  ›  专栏  ›  技术社区  ›  maetl

在JSON API中表示部分日期

  •  2
  • maetl  · 技术社区  · 16 年前

    我所说的部分日期是指具有未知成分的日期值,可以是年-月,也可以只是年。在我们的表示层中,这将被翻译为:

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

    这类数据有先例或标准吗?例如,MySQL通过在日期和日期时间字段中允许00值来实现这一点,例如:“2009-00-00”将直接保存到MySQL日期字段,但当被大多数编程语言的日期库解析时,此值的转换并不一致。

    在JSON提要中语义上表示部分日期概念的最佳方法是什么?

    理想情况下,我们能够实现一个易于消费者解析的解决方案,但也可以在文档中直接解释。

    3 回复  |  直到 16 年前
        1
  •  5
  •   Matthew Flaschen    16 年前
        2
  •  -1
  •   artlung    16 年前

    在存储方面,您可以通过将年、月和日存储在单独的列中并允许空值来存储歧义。这样,如果列为空,您可以使用字符串连接和合并(day,'00')函数查询它,以获取'00'。

        3
  •  -2
  •   this. __curious_geek    16 年前

    你可能会找到你的解决方案@ www.datejs.com

    谢谢。