• 締切済み

日付フォーマット

php超初心者です。 ブログ等のRSSを取得してサイトに新着を 表示しようとしているのですが、日付データに以下のような 文字列が入ってきます。 Thu, 24 Jul 2008 22:31:27 +0900 こちらの表示形式を 2008/7/24 のようにしたいのですが、一番使いやすいフォーマット変換関数はありませんでしょうか?

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.3

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

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

<?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"); /* 俺の好み */ } ?>

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

<?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"); /* 俺の好み */ } ?>

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • strtotime 日付の変換

    PostgreSQLの中にある「2007/07/07-15:19」(文字列)という日付を、PHPで「Thu, 10 Jul 2007 15:19:00 +0900」という形に直すにはどうしたらいいんでしょうか? データベースから日付を取得したまではいいのですが、その後の変換ができずに困っています。strtotime関数を使えばいいらしいというのは聞いたんですが・・・。

    • ベストアンサー
    • PHP
  • PHP 日付フォーマット

    "Wed Apr 30 12:12:01 JST 2008"という文字列を "2008/4/30 12:12:01" という形式に変換させたいのですが、 PHPの関数でこのように変換できるものはありますでしょうか? それとも、ガリガリと書いていくしかないでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 【Excel】文字列になってしまった日付を変換したい

    こんにちは。ご存知の方教えてください。 エクセル2000で、文字列になってしまった日付をセルの「書式設定」で「表示形式」→「日付」で表示されるようにしたいのですが、そのやり方をご存知の方、是非お教え願えますでしょうか。 変換前の文字列(※:文字の区切りにはスペースがあるのみです。) 例)Wed 31 Jul 2002 18:59 変換後)2002年7月31日 水 (2002/7/31でも可) どうぞよろしくお願いします。

  • 日付のフォーマットを操作する

    変換前 "2007-11" "2008" "2009-12-1" "2009-12-12" "2007-11 11:59" "2007-11 11:59:12" "2007-11 11" 上記のような日付の文字列を指定したフォーマットで出力したいです。 もっとも効率の良いやり方を教えて下さい。 変換後 "20071100000000" "20080000000000" "20091201000000" "20091212000000" "20071100115900" "20071100115912" "20071100110000"

    • 締切済み
    • PHP
  • 日付、時刻の比較について

    こんばんは。 現在、PHP4&MySQLの環境で業務アプリを 作成しております。 DBからDATE型(20060614)、TIME型(13:00:00)の データを取得して他の文字列と比較したのですが どうしてもうまく比較できません。 日付データはdate_format関数で使用して取得し strvar関数などで型変換をして比較しています。 ちなみにechoなどで実際の値を見ても同じ値でした。 やっぱり型があっていないのでしょうか? お願いします。

    • ベストアンサー
    • PHP
  • Excel関数 グレゴリオ暦

    Jun Jul Aug などのの月を示す3文字短縮形の文字列を06 07 08などmm形式に変換する関数はないでしょうか?

  • C#による日付のフォーマット変換について

    初めまして。 大学にてC#を勉強中の身なのですが、文字列の日付フォーマット 【YYYY/MM/DD → DD-MMM-YY】 への変換方法が分からず困っています。 よろしければどなたかご教授して頂けないでしょうか? ※このような形に変換を希望しています string型 【2000/01/01】 → string型 【01-Jan-00】

  • 日付の変換

    以下のような文字列の日付情報があります。これをできるだけ簡単な方法で日付形式に変換する方法を御教示いただけないでしょうか。今は文字列の月名→数字に変更して、Date関数で合体し変換しています。また、さらに難しいのが時間の部分です。 エクセルの機能でできる方法がありましたらお教えください。 Jun 7 2006 2:08PM Jun 8 2006 10:00PM Jun 8 2006 10:41AM Jun 8 2006 8:10PM Jun 7 2006 8:41PM

  • 【エクセルの質問】日付の書式を設定したい

    日付が20070124というように連続した8桁の数字で入力されています。 セルの書式設定から表示形式を確認すると文字列で設定されています。 文字列で設定されていても2007/01/24というように年月日を区切るのに/が使われていれば日付として認識されますが連続して数字が羅列されている場合、どのように日付として変換したらいいのでしょうか?データ量が多いのでできれば関数などで一度に設定できれば助かるんですが。 ご存知の方がいたらご教授をお願いいたします。

  • 日付で判定する処理

    あまりよくわかっていないので恐縮ですが,掲示板のような処理で入力は日付と文章のみです. 入力の文字列の日付は,今日だと「2005/02/14」と入れ,文章は「こんにちは」としたとするとこの2つがテキストファイルに「,カンマ区切りで」書き込まれます.それをhtmlで表示させているようです. やりたい処理は1週間前の日付だったら文章の文字列を赤色で表示するということをしたいのです. 比較結果で赤文字列にする処理はわかったのですが判定の部分で悩んでおります. 判定する際,思いついたのが入力してある文字列がたとえば「2005/02/14」の形式なのでこの値と今日の日付とを比較して7日前だったら文章を赤文字にしたいのですが,普通はどのような比較をするのでしょうか? 私が考えたのは,ファイルに書き込まれている「2005/02/14」を読み込み「/」をなくして「20050214」にし数字形式にすることで,今日の日付も,「20050214」の形式として7日を引けば負の時は何もせず正の時は文章を赤文字で表示させればと考えたのですが,ファイルから読み込んだ「2005/02/14」から「/」を無くす方法や今日の日付を取得した結果は文字列の形式みたいなので計算にはつかえないようです. 実はもっと簡単な方法があるのではないかと悩んでいたりしています.どなたかご教授お願いいたします.

    • ベストアンサー
    • Perl
このQ&Aのポイント
  • Access上のVBAにてTransferSpreadsheetを利用してExcelを読み込む際、数値の丸めが正しく行われない問題が発生しています。
  • 特定の条件下で数値の丸めが行われず、正確な数値が取り込まれる方法を求めています。
  • 取り込み元のExcelの書式設定が数値と文字列が混在している場合に、正確な数値を取り込む方法を教えてください。
回答を見る