2016-04-28 1 views
1

Есть ли стандартный или предпочтительный способ форматирования или принудительного применения формата, когда я дам/PUT/POST даты/время, используя службу RESTful?Какой лучший формат использовать для дат с помощью REST?

Лучше ли быть строгим в валидации? (например, YYYY-MM-DD HH: MM: SS GMT или временная метка Unix). Или, как правило, должно быть более четко определено форматирование даты и времени, возможно, с несколькими потенциальными форматами?

Моя основная забота о временных отметках Unix заключается в том, что они не очень удобочитаемы для человека, и мне придется тратить ресурсы, конвертирующие даты в и из временных меток.

+0

Метки времени Unix являются однозначными и доступны на большинстве языков. – assylias

+0

@assylias Моя главная проблема с временными отметками Unix заключается в том, что они не очень удобочитаемы для человека. Я отредактирую свой вопрос, чтобы отразить это. –

+0

Вам нужно, чтобы ваши сообщения о отдыхе были для человека понятными? – assylias

ответ

3

ISO-8601, как правило, представляет собой переносимый, считываемый формат временной метки, разработанный с учетом обмена данными. Он поддерживается большинством языков как изначально, так и через стороннюю библиотеку.

Временные метки Unix, как вы говорите, не являются особенно читаемыми и, конечно же, не позволяют людям взаимодействовать с сервисом - либо для поисковых, либо для отладочных целей.

Одна вещь, о которой нужно знать, также в том, что поддержка базы данных для временных меток unix не идеальна. Естественно, MySQL (например) видит unix timestamps как (просто) целые числа без знака. Чтобы использовать манипулирование датой/временем MySQL, вам нужно преобразовать его в тип timestamp MySQL. Oracle также, iirc, на самом деле не понимает временную метку unix как тип даты.

Для этого вид причины, я обычно использовал формат ISO-8601, чтобы передавать информацию о временной отметке, а не временную метку unix.