dポイントプレゼントキャンペーン実施中!

php超初心者です。
ブログ等のRSSを取得してサイトに新着を
表示しようとしているのですが、日付データに以下のような
文字列が入ってきます。

Thu, 24 Jul 2008 22:31:27 +0900

こちらの表示形式を
2008/7/24
のようにしたいのですが、一番使いやすいフォーマット変換関数はありませんでしょうか?

A 回答 (3件)

<?php


$str = "Thu, 24 Jul 2008 22:31:27 +0900";
$dt = date("Y/n/j",strtotime($str));
echo $dt;
?>
こんなのでは如何でしょうか?PHP4.4.0以降が条件ですが
    • good
    • 0

<?php


/*
修正。何か意味不明なコードになってた。
*/
$str = "Thu, 24 Jul 2008 22:31:27 +0900";
If (date_default_timezone_set("Asia/Tokyo") !== FALSE){
if (strtotime($str) !== FALSE){
if (date("Y/n/j",strtotime($str) )!== FALSE){
print date("Y/n/j",strtotime($str));
}
}
date_default_timezone_set("GMT"); /* 俺の好み */
}
?>
    • good
    • 0

<?php


/*
PHPはあまり例外投げてくれない印象があるので
使いやすいかといわれると結構使いにくい(笑)。

あとstrtotime関数でフォーマットを指定する方法がなかったので
今使われているRFC 2822の形式以外の日付形式の文字列も通してしまう。

個人的にはY-m-dのフォーマットが好みだ


*/
$str = "Thu, 24 Jul 2008 22:31:27 +0900";
If (date_default_timezone_set("Asia/Tokyo") !== FALSE){
if (strtotime($str) !== FALSE){
if (date($str !== FALSE)){
print date("Y/n/j",strtotime($str));
}
}
date_default_timezone_set("GMT"); /* 俺の好み */
}
?>
    • good
    • 0

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