我见过很多不同的JSON日期格式标准:
"\"\\/Date(1335205592410)\\/\"" .NET JavaScriptSerializer
"\"\\/Date(1335205592410-0500)\\/\"" .NET DataContractJsonSerializer
"2012-04-23T18:25:43.511Z" JavaScript built-in JSON object
"2012-04-21T18:25:43-05:00" ISO 8601
哪一个是正确的?还是最好?这方面有什么标准吗?
没有正确的格式;JSON规范没有指定交换日期的格式,这就是为什么有这么多不同的方法来交换日期。
最好的格式可以说是以ISO8601格式表示的日期(见维基百科);它是一种众所周知且广泛使用的格式,可以跨多种不同的语言处理,非常适合于互操作性。例如,如果您可以控制生成的json,则可以以json格式向其他系统提供数据,选择8601作为日期交换格式是一个不错的选择。
如果您无法控制生成的json,例如,您是来自多个不同现有系统的json的使用者,那么处理此问题的最佳方法是使用日期解析实用程序函数来处理预期的不同格式。
JSON对日期一无所知。什么。NET是一个非标准的黑客/扩展。
我将使用一种可以轻松转换为JavaScript中的Date
对象的格式,即可以传递给newdate(…)
。自1970年以来,最简单、可能也是最可移植的格式是包含毫秒的时间戳。
JSON本身并没有指定日期的表示方式,但JavaScript指定了日期的表示方式。
您应该使用Date
的toJSON
方法发出的格式:
2012-04-23T18:25:43.511Z
原因如下:
>
它分类正确
它包括分数秒,这有助于重新建立年表
它符合ISO 8601
国际标准化组织8601已经在国际上建立了十多年
ISO 8601得到W3C、RFC3339和XKCD的认可
也就是说,每一个编写的日期库都可以理解“自1970年以来的毫秒数”。因此,为了便于携带,ThiefMaster是正确的。
问题内容: 我已经看到JSON日期格式的许多不同标准: 哪一个是正确的?还是最好的?有什么标准吗? 问题答案: JSON本身 没有 指定日期应如何表示,但JavaScript却指定了。 您 应该 使用的方法发出的格式: 原因如下: 它是人类可读的,但也很简洁 排序正确 它包括小数秒,可以帮助重新建立时间顺序 符合ISO 8601 ISO 8601已经在国际上建立了十多年的历史 W3C,RFC333
问题内容: 我已经看到了许多不同的JSON日期格式标准: 哪一个是正确的?还是最好的?有什么标准吗? 问题答案: JSON本身并未指定日期应如何表示,但JavaScript却指定了。 你应该使用的方法发出的格式: 原因如下: t’s human readable but also succinct It sorts correctly It includes fractional seconds,
我有点迷失了JSON格式,我必须返回Select2才能正常工作。 我返回的JSON用fiddler捕获: 和我的Select2设置(#FuncionarioID是一个选择输入): }); 我一直在Stackoverflow阅读关于同一主题的问题,我尝试了答案,但没有一个对我有用。关于解决这个问题,你有什么建议吗?我已经尝试返回像这样的对象{“id”:“1060”,“text”:“teste1”},
问题内容: 我正在学习Go,并且正在尝试对日期时间进行JSON解组。 我有一个用C语言编写的程序生成的JSON,我正在输出我认为有效的ISO8601 / RFC3339时区偏移量。我正在使用以下格式字符串: (请注意,本机不支持,我有一个包装器将其替换为纳秒级)。 然后,将产生以下结果: 但是在Go中取消编组此功能将无效:https : //play.golang.org/p/vzOXbzAwdW
我有一个关于bean的正确格式和用法的问题。xml文件。在我的项目中,我通常将这些内容用于我的bean。xml文件(未使用explizit bean声明): 这在WildFly 8和9中运行得很好。但是我在GlassFish 4中有部署问题。在问题中:Glassfish 4,CDI中的简单示例在WELD-001408中失败。我写了一个替代格式: 这里使用了不同的名称空间。GlassFish4似乎很
问题内容: 我从API收到日期字符串,其格式为。 我目前正在使用正则表达式来验证字符串格式,这种方法可以正常工作,但是我可以看到某些情况,根据字符串,它可能是正确的格式,但实际上是无效的日期。即,例如。 PHP中是否有更好的方法来接收诸如这样的字符串,并确定该日期是否为该格式的有效日期? 问题答案: 您可以为此目的使用类: 测试用例: