Унифицировать форматы даты - как?

0

У меня есть два источника информации, и эти источники имеют даты в разных форматах.

Источник A Ср, 17 ноя 2010 12:14:10 +0000 (из rss-канала)

Источник B ГГГГ-ММ-ДД ЧЧ: ММ: SS (из mysql datetime)

Запрос: Я хотел бы заказать их по дате, чтобы получить только последние вхождения.

Но, и если это еще более сложно, те, которые хранятся в базе данных, должны учитывать ВРЕМЯ. Поскольку в тот же день можно создать несколько записей.

У меня есть контроль над выходным форматом mysql на выбор. У меня нет контроля над выходом, поступающим из RSS-ленты.

Это не кажется легким достижением, и мне интересно:

Что вы можете предложить здесь?

Update: Я думал о: Рабочий источник A: a) создание массива в течение нескольких месяцев и конкретного месяца б) Извлеките два символа после первой запятой (или три, если посчитать пробел) (день) c) Преобразуйте "нов" в число (используя ранее созданный массив); d) Получить 2010 (не уверен, как); e) Поместите год слева, добавьте место - месяц, а -, поместите день, добавьте 00:00:00

В это время они оба будут равны, и это может помочь... Но, я чувствую себя действительно манекеном в том, чтобы все это делать...: s Разве нет разумного пути?:)

Over - php (zend)/mysql

Большое спасибо, MEM

Теги:
feeds

1 ответ

3
Лучший ответ

Если вы можете использовать PHP 5.3, я бы использовал DateTime::createFromFormat(), чтобы нормализовать форматы даты в общий формат.

Для дат mySQL:

$date = DateTime::createFromFormat('Y-m-d H:i:s', '2010-11-17');
echo $date->format('Y-m-d H:i:s');

Для формата RFC 2822 это должно работать (никогда не тестировалось):

$date = DateTime::createFromFormat('r', 'Wed, 17 Nov 2010 12:14:10 +0000');
echo $date->format('Y-m-d H:i:s');
  • 1
    Я думаю, что date('Ymd H:i:s', strtotime($date)) будет работать так же хорошо, <5.3.
  • 1
    @deceze Я не совсем уверен насчет формата r , но если подумать, strtotime() вероятно, strtotime() может с этим справиться, правда
Показать ещё 12 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню