2012-03-20 5 views
1

PHPでデータベースから取得したタイムスタンプ値を直接エコーしたとき、私はこれを私の画面上で見ました。PHPでMySQLからタイムスタンプをフォーマットするにはどうしたらいいですか?

2012-04-01 12:02:00 

PHPでこのタイムスタンプ文字列を解析する効率的な方法は何ですか?正規表現を使用するか、このタイムスタンプを2つの文字列に変換し、それぞれを(日付と時刻)解析する必要がありますか?

これを行うためのより合理的で標準的な方法はありますか?

最後に、このタイムスタンプを12:02 on April 1, 2012として提示します。ここでの日付パターンに

+0

可能重複[PHPでSQLからのタイムスタンプをフォーマットする最も簡単な方法は何ですか?] (http://stackoverflow.com/questions/238071/what-is-the-simplest-way-to-format-a-timestamp-from-sql-in-php) –

答えて

1

はこの1つを試してみてください。

$result = mysql_query("SELECT date FROM times;"); 
    while ($row = mysql_fetch_array($result)) { 
     echo date("g:i a F j, Y ", strtotime($row["date"])) . "<br />"; 
    } 
2

date()strtotime()機能をチェックしてください。

あなたの例では、それは

date("H:i on F d, Y",strtotime("2012-04-01 12:02:00")); 

だろうとあなたが5.3.0よりも後のPHPのバージョンを使用している場合は、あまりにもdate_parse_from_format()を使用することができます。この場合:

$parsed = date_parse_from_format("Y-m-d H:i:s","2012-04-01 12:02:00"); 
$new = mktime(
     $parsed['hour'], 
     $parsed['minute'], 
     $parsed['second'], 
     $parsed['month'], 
     $parsed['day'], 
     $parsed['year'] 
); 
date("H:i on F d, Y", $new); 
+0

'date()は、パラメータ2がlongであると予測します、array given' – Dan

+1

それを指摘してくれてありがとう@ Silver89。私は2番目の方法を修正しました。 –

関連する問題