Дизайн API RESTful - лучшие практики для дат

Какова наилучшая практика для предоставления дат в API?

Лучше всего делиться датами с форматом даты и времени, подобным SQL, - "YYY-MM-DD HH: MM: SS" с встроенным внутри него встроенным часовым поясом?

Или лучше использовать миллисекунды на основе UTC?

Ответ 1

Я предпочитаю кодировать времена как полные ISO 8601, но с ограничением, которое мой код только когда-либо генерирует в часовом поясе UTC. Если у вас хорошая библиотека для разбора даты (например, Jodatime для Java), принятие полного ISO 8601 не является особенно сложным, и они, по крайней мере, несколько читабельны. (Смещения от какого-то эпохального момента не так просто читать людям.)

Ответ 2

Это зависит от вас, но, если вы не делаете какое-то приложение календаря, я бы не стал поддерживать полный формат ISO, потому что его обработка во время обработки часового пояса, летнее время и т.д. может быстро стать очень сложной. Передача их как UTC почти всегда достаточно хороша, и для программистов, использующих ваш API, легко конвертировать любую дату в этот формат.