0

私には2つの情報源があり、それらの情報源には異なる形式の日付があります。

出典A 水、2010年11月17日12:14:10 +0000(rssフィードから)

ソース BYYYY-MM-DDHH:MM:SS(mysql日時から)

リクエスト: 最後のオカレンスのみを取得するために、日付順に並べ替えたいと思います。

しかし、さらに難しいことに、データベースに格納されているものはTIMEを考慮する必要があります。同じ日に複数のレコードが作成される可能性があるためです。

選択するmysql出力形式を制御できます。RSSフィードからの出力を制御することはできません。

これは簡単な成果ではないようです、そして私は疑問に思っています:

ここで何を提案できますか?

更新: 私は考えていました:次のような作業ソースA:a)月と特定の月番号の配列を作成しますb)最初のコンマの後に2文字(またはスペースを数える場合は3文字)(日)を取得しますc)変換します数値への「11月」(以前に作成された配列を使用)。d)2010を取得します(方法はわかりません)。e)年を左側に配置し、-を追加して月を配置し、-、日を配置して00:00:00を追加します

現時点では、両方が等しく、それが役立つ可能性があります...しかし、私はこれらすべてを行うことについて本当にダミーだと感じています...:s賢い方法はありませんか?:)

以上-php(zend)/ mysql

どうもありがとう、MEM

4

1 に答える 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');
于 2010-11-21T13:40:50.867 に答える