Рекомендуемый формат даты для REST API - PullRequest
7 голосов
/ 24 августа 2010

Я пишу приложение, которое предоставляет REST API. Некоторыми параметрами запроса будут дата / время (с точностью до секунды), а некоторые ответы будут метками времени (с точностью до миллисекунды).

Реализация API на сервере в Java. Клиентские приложения могут быть чем угодно - java, javascript, .NET. API возвращает данные XML или JSON. Данные даты / времени хранятся в базе данных Oracle.

Есть ли у кого-нибудь рекомендации, основанные на предшествующей боли, о том, какой формат лучше подходит для передачи этих значений даты / времени. Я думаю, что просто использую старое доброе старое значение для хранения количества миллисекунд с 1 января 1970 года, 00:00:00 по Гринвичу.

Редактировать Диапазон дат, охватываемый API, относится к событиям в реальном времени, поэтому до 2010 года ничего не будет, а после 2038 года (настраивая себя на злоупотребления) - ничего

Полагаю, что лучшее будет определяться

a) Широкий выбор языков поддерживает преобразование этого длинного во внутренний объект даты, без необходимости писать код для этого.

b) Наименьшая нагрузка на процессор (в приложении сервера)

1 Ответ

8 голосов
/ 24 августа 2010

ISO 8601 полностью

Использование любого метода на основе эпох означает, что вы ограничены диапазоном (в большинстве систем) 32-битного INT со знаком (1901-12-13T20: 45: 52 + 00: 00–2038-01-19T03: 14 : 07 + 00: 00) что на самом деле больше отметка времени , чем дата, поскольку она не может обрабатывать далеко идущие исторические или будущие даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...