Kamyar Nazeri Kamyar Nazeri - 1 month ago 8x
JSON Question

The "right" JSON date format

I've seen so many different standards for the JSON date format:

"\"\\/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

Which one is the right one? Or best? Is there any sort of standard on this?


JSON itself does not specify how dates should be represented, but JavaScript does.

You should use the format emitted by Date's toJSON method:


Here's why:

  1. It's human readable but also succinct

  2. It sorts correctly

  3. It includes fractional seconds, which can help re-establish chronology

  4. It conforms to ISO 8601

  5. ISO 8601 has been well-established internationally for more than a decade

  6. ISO 8601 is endorsed by W3C, RFC3339, and XKCD

That being said, every date library ever written can understand "milliseconds since 1970". So for easy portability, ThiefMaster is right.