重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

自作のRSSリーダーを作ったのですが、ライブドアブログの更新時間が全て1970-01-01になってしまいます。PHPで
if ($item['dc']['date'] != '')
{
$dt = parse_w3cdtf($item['dc']['date']);
}
else if($item['pubdate'] != '') {
$dt = strtotime($item['pubdate']);
}
else
{
$dt = time();
}
といった感じにしています。何が悪いのかわからないので教えて下さい。

A 回答 (2件)

あのぅ、質問に対しての回答になってないんですけども・・・


パースするまえに、
$item['dc']['date']
$item['pubdate']
にきちんと値は入ってるのでしょうか?
値がないのをパースしても仕方ないですし、
実際にきちんと値は入っているけでも、
parse_w3cdtfのパースの部分でこけてるのかが分りません。

この回答への補足

すみません。
$item['dc']['date']には
2007-01-27T03:32:31+09:00
が入っていました。
$item['pubdate']には何も入っていません。
よろしくお願いいたします。

補足日時:2007/03/18 03:02
    • good
    • 0

$item['dc']['date']


$item['pubdate']
にそれぞれ、値がどのように入っているかを確認すれば、
いいように思います。

この回答への補足

回答ありがとうございます。ライブドアブログのXMLを見てみると、
<dc:date>2007-01-27T03:32:31+09:00</dc:date>
となっています。
magpierssのparse_w3cdtf関数を使って上記のようにして、
date("y-m-d",$dt);
として変数へ代入echoで出力すると1970-01-01になってしまいます。
magpierssのdate_timestampを使用しても同様の結果です。他のRSSフィードはきちんと読み込まれますが、ライブドアブログだけこうなるんです。すみませんがよろしくお願いします。

補足日時:2007/03/13 18:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!