Какой формат времени используется в дате создания facebook?


Привет, я работаю над API facebook Graph, где мне нужна вся информация о публикациях группы. Итак, я сделал это и увидел [created_date'] => '2013-01-25T00:11:02+0000', что представляют собой эта дата и время, я имею в виду, что я знаю, что 2013-01-25 - это дата, а 00:11:02 - время, но что представляют T и +0000.

Кстати, где находится сервер facebook. Какую метку времени я должен использовать, чтобы соответствовать времени facebook?

Спасибо.

Author: Genius in trouble, 2013-01-25

3 answers

T = ВРЕМЯ, а +0000 - смещение часового пояса. Facebook использует локализованные часовые пояса. Вы можете запросить временную метку Unix вместо строки, добавив параметр: date_format=U в вызов API graph.

Пожалуйста, смотрите эту ссылку для получения дополнительной информации.

 21
Author: BBagi, 2018-09-30 21:24:40

Формат даты называется ISO 8601. Буква T используется для однозначного разделения даты и времени, а +0000 используется для обозначения смещения часового пояса, в данном случае по Гринвичу или UTC.

Тем не менее, вам, как правило, не нужно так сильно беспокоиться о фактическом содержимом; скорее, вы должны знать, как с ними работать. Чтобы использовать такую дату, вы можете использовать strtotime() для преобразования ее в отметку времени:

$ts = strtotime('2013-01-25T00:11:02+0000');

Чтобы преобразовать отметку времени обратно в строковое представление, вы можете просто используйте gmdate() с предопределенной константой даты DATE_ISO8601:

echo gmdate(DATE_ISO8601, $ts);

В качестве альтернативы, используя DateTime:

// import date
$d = DateTime::createFromFormat(DateTime::ISO8601, '2013-01-25T00:11:02+0000');

// export date
echo $dd->format(DateTime::ISO8601), PHP_EOL;
 12
Author: Ja͢ck, 2013-01-25 07:07:03

Это стандартный формат, в частности ISO 8601.

Как бы мне не нравилось ссылаться на него, http://www.w3schools.com/schema/schema_dtypes_date.asp имеет хорошее "понятное человеку" объяснение:

Дата и время указываются в следующей форме "ГГГГ-ММ-ДДТЧ:мм:сс" где:

YYYY indicates the year
MM indicates the month
DD indicates the day
T indicates the start of the required time section
hh indicates the hour
mm indicates the minute
ss indicates the second

Чтобы указать часовой пояс, вы можете либо ввести дату и время по времени UTC , добавив "Z" позади времени - вот так:

2002-05-30T09:30:10Z

Или вы можете указать смещение от времени UTC, добавив положительное или отрицательное время за временем - вот так:

2002-05-30T09:30:10-06:00

Или

2002-05-30T09:30:10+06:00

Следовательно, в вашем случае +0000 указывает смещение по времени 0 от UTC.

 5
Author: lc., 2014-07-08 16:08:39