Парсинг метки даты программного интерфейса Твиттера

Я использую программный интерфейс Твиттера для возврата списка обновлений статуса и времена, они были созданы. Это возвращает дату создания в следующем формате:

Пятница 09 апреля 12:53:54 +0000 2010

Каков самый простой путь (с PHP или JavaScript) для форматирования этого как 04.09.2010?

27
задан Chris Armstrong 9 April 2010 в 22:39
поделиться

4 ответа

strtotime("dateString"); получает дату в родном формате PHP, затем вы можете работать с функцией date(), чтобы вывести ее так, как вам нужно.

33
ответ дан 28 November 2019 в 04:11
поделиться

Javascript. Как заметил @Andy, когда дело доходит до IE, будет сука. Так что лучше полагаться на библиотеку, которая делает это последовательно. DateJS кажется хорошей библиотекой.

После добавления библиотеки вы должны проанализировать и отформатировать ее следующим образом:

var date = Date.parse("Fri Apr 09 12:53:54 +0000 2010");
var formatted = date.toString("dd-MM-yyyy");

В PHP вы можете использовать функции даты или класс DateTime, чтобы сделать то же самое (доступно с PHP 5.2.0):

$date = new DateTime("Fri Apr 09 12:53:54 +0000 2010");
echo $date->format("d-m-Y"); // 09-04-2010
3
ответ дан 28 November 2019 в 04:11
поделиться

JavaScript может разобрать эту дату, если удалить +0000 из строки:

var dStr = "Fri Apr 09 12:53:54 +0000 2010";
dStr = dStr.replace("+0000 ", "") + " UTC";
var d = new Date(dStr);

Chrome - и, я подозреваю, некоторые другие браузеры, не относящиеся к IE - могут разобрать ее с +0000, присутствующим в строке, но вы можете удалить его для совместимости.

PHP может разобрать дату с помощью strtotime:

strtotime("Fri Apr 09 12:53:54 +0000 2010");
6
ответ дан 28 November 2019 в 04:11
поделиться

Кроссбраузерный, зависящий от часовых поясов парсинг через JavaScript:

var s = "Fri Apr 09 12:53:54 +0000 2010";

var date = new Date(
    s.replace(/^\w+ (\w+) (\d+) ([\d:]+) \+0000 (\d+)$/,
        "$1 $2 $4 $3 UTC"));

Протестировано на IE, Firefox, Safari, Chrome и Opera.

47
ответ дан 28 November 2019 в 04:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: