2011-05-11 15 views
0

PHPを使用して、XMLファイルからデータを出力します。具体的には、日付は「20101110」と出力されます。XMLの日付をyyyymmddから月の日に変更します。

2011年11月10日にこれを変更するためにPHPを使用できますか?もしそうなら、どうですか?あなたの助けのための

$file = 'http://www.gostanford.com/data/xml/events/m-baskbl/2010/index.xml'; 
    $xml = simplexml_load_file($file); 

    foreach($xml as $event_date){ 
     if(!empty($event_date->event['vn']) && !empty($event_date->event['hn']) && !empty($event_date->event['vs']) && !empty($event_date->event['hs'])) 
     { 
      echo '<li>'; 
       echo '<h3>', $event_date->event['vn'], ' vs ', $event_date->event['hn'], '</h3>'; 
       echo '<p><strong>', $event_date->event['vs'], ' - ', $event_date->event['hs'], '</strong></p>'; 
       echo '<p>', $event_date['date'], '</p>'; 
       echo '<p>', $event_date->event['local_time'], '</p>'; 
      echo '</li>'; 
     } 
    } 

ありがとう:

は、ここに私のpageとのコードです!

答えて

1

あなたはstrtotime()機能との組み合わせで、date()機能を使用することができます。

echo date('F j, Y', strtotime($event_date['date'])); 
+0

ありがとうございます。私は私の日付の行をあなたのものに置き換えましたが、「1969年12月31日」を出力し続けます。どのように私はそれを修正することができますどのような考え? – Ryan

+0

@Ryan Err ...私のコードサンプルに間違いがあったと思います。代わりに '$ event_date ['date']'を使用してください(更新されたコードサンプルを参照)。 – Michael

+0

@Ryanこれは、nullまたは0がstrtotime()に渡されているため、その日付を出力しているため、エポックの日付が出力されています。 – Michael

1

確かに、ここでは例の機能があります:

function toRealDate($str) { 
    $year = substr($str, 0, 4); 
    $month = substr($str, 4, 2); 
    $day = substr($str, 6, 2); 
    $months = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); 
    return $months[(int)$month - 1] . ' ' . (int)$day . ', ' . $year; 
} 
+0

はあなたに感謝します。 "$ event_date ['date']"を$ toRealDateに置き換えようとしましたが、日付が出力されませんでした。私が間違っていることを知っていますか?再度、感謝します。 – Ryan

+0

いいえ、あなたは 'toRealDate($ event_date ['date'])'を実行します。 – Ryan

関連する問題