mysqlテーブルにいくつかのデータを保存しました。ヒメ日付
を割り当てます。列IDを使用して入力
し、この形式で表示したいtimestamp
ように保存します。
エコーを使用 してから表示します。'2013-02-12 21:42:45'
'Feb-2, 2013 9:42 PM'
date('M-d ,Y',$create_date)
'Jan-01 ,1970'
php eroor
誰か助けてくれませんか
mysqlテーブルにいくつかのデータを保存しました。ヒメ日付
を割り当てます。列IDを使用して入力
し、この形式で表示したいtimestamp
ように保存します。
エコーを使用 してから表示します。'2013-02-12 21:42:45'
'Feb-2, 2013 9:42 PM'
date('M-d ,Y',$create_date)
'Jan-01 ,1970'
php eroor
誰か助けてくれませんか
これにより、希望の日時形式が出力されます
<?php
//Output -- Feb-2, 2013 9:42 PM
$create_date = '2013-02-12 21:42:45';
echo date('M-d ,Y g:i a',strtotime($create_date));
date('M-d ,Y h:i A',strtotime($create_date))
この strtotime 時間をタイムスタンプに変換してみてください。日付をフォーマットできます。
クエリを介して実行する場合に使用DATE_FORMAT
します。
SELECT DATE_FORMAT('2013-02-12 21:42:45','%b-%e, %Y %l:%i %p') result
$create_date
の変数を確認してくださいdate('M-d ,Y',$create_date)
。空白です。この変数には値がありません。このため、1970年を示しています。で日付を割り当てます$create_date
。
ただし、日付をさまざまな形式で表示する必要がある場合は、タイムスタンプとしてデータベースに保存することをお勧めします。PHPでは、この値は関数time();によって生成できます。
このdate()
関数は、2 番目のパラメーターとしてタイムスタンプを想定しています。DateTime
オブジェクトを使用して日付を作成し、次に関数DateTime::format
を作成します。
$date = new DateTime($create_date);
echo $date->format('M-d ,Y g:i A');
日付のphpファイルを読む: http://php.net/manual/en/function.date.php
日付関数の 2 番目のパラメーターは、文字列ではなく (任意の形式の) UNIX タイムスタンプです。
そのため、文字列をタイムスタンプに変換し (おそらくタイムゾーンを考慮して)、それを使用して日付を希望どおりに再フォーマットします。
例えば
date_default_timezone_set('<timezone of create_date>');
$date = date('M-d ,Y',strtotime($create_date)):
ところで、このコードは、その後実行されるすべてのphpコードのデフォルトのタイムゾーンをリセットします...ユースケースでそれが重要かどうかはわかりません