私は使用しようとしていますがdate_format
、私が知る限り、タイムスタンプのみを取得し、表示したい方法で日付をフォーマットします。
私の問題は次のとおりです。私のデータベースの日付は次の形式です。
2012-05-14 // (Y-m-d)
そして、私はそれらを次のように表示したいと思います:June 14th, 2012
またはそれに最も近いフォーマット。
そのような変換を行うためのPHPの組み込みの日付はありますか?ありがとう!
データベースで変換を行うため、毎回さまざまな文字列/バイナリ形式を複数回往復する必要はありません。
SELECT DATE_FORMAT(yourdatefield, '%M %D, %Y')
関連ドキュメントはこちら: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
それ以外の場合は、次の変換シーケンスが必要です。
mysql native -> mysql string -> php string -> php timestamp -> php string
v.s.
mysql native -> mysql string -> php string
次のようなことを試すことができます:
$date_string = 2012-05-14;
$formatted_date = date('F jS, Y', strtotime($date_string));
echo $formatted_date;
<?php echo date('F jS, Y', strtotime('2012-06-14')); ?>
createFromFormat も使用できます。
date = DateTime::createFromFormat('Y-m-d', $yourTimeString);
echo $date->format('F jS, Y');
http://php.net/manual/en/function.date.php
echo date("F jS, Y", strtotime($mysql_row_date_goes_here));
を使用strtotime()
して日付を時間に変換してから使用できますdate()
。または、適切な SQL で日付をフォーマットする方法をデータベースに伝えることができます。