2016-10-21 10 views
0

С нашим API мы хотим отправить информацию о наших объектах, например публикации , дату и время. Какой формат вы рекомендуете вернуть, чтобы обеспечить простоту использования, с различными языками программирования (PHP, Ruby, JavaScript, ...)?Какой формат даты и времени наиболее интересен для возврата с помощью API

Я думал 2 ответов:

{ 
    "published": "2016-06-30T14:45:16+0200", //ISO 8601 
    ... 
} 

или

{ 
    "published": 1467290716, //Timestamp 
    ... 
} 

Спасибо заранее!

ответ

2

По моему опыту, вместо того, чтобы определять формат в соответствии с языком, я бы принял решение в соответствии с использованием.

Если бы речь шла только о языке, я бы придерживался временных меток, просто будьте осторожны с тем, какую длину метки вы используете (обычный 32-битный формат перестанет работать в январе 2038 года из-за переполнения, так что, возможно, вы можете нужна временная метка длиной 64 бит)

Но если вы используете эту дату только как информацию для чтения человеком, нет необходимости переходить с временной метки на текст, поэтому я бы выбрал текстовую опцию.

0

UTC timestamp предпочтительнее, я бы сказал. Вот мои причины:

  1. Простая конвертация на любой язык.

  2. Вам не нужно беспокоиться о часовых поясах.

  3. Если какой-либо язык имеет проблемы с обработкой времени liek ISO - 2016-06-30T14: 45: 16 + 0200, тогда придётся прибегнуть к форматированию строк до изменения формата времени. Например, у старой версии Javascript не было отличных библиотек обработки данных.