2

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

誰か助けてくれませんか

4

7 に答える 7

6

これにより、希望の日時形式が出力されます

<?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));
于 2013-02-14T07:47:56.587 に答える
1
date('M-d ,Y h:i A',strtotime($create_date))

この strtotime 時間をタイムスタンプに変換してみてください。日付をフォーマットできます。

于 2013-02-14T07:45:08.493 に答える
1

クエリを介して実行する場合に使用DATE_FORMATします。

SELECT DATE_FORMAT('2013-02-12 21:42:45','%b-%e, %Y %l:%i %p') result
于 2013-02-14T07:46:04.687 に答える
0

$create_dateの変数を確認してくださいdate('M-d ,Y',$create_date)。空白です。この変数には値がありません。このため、1970年を示しています。で日付を割り当てます$create_date

于 2013-02-14T07:49:34.560 に答える
0

ただし、日付をさまざまな形式で表示する必要がある場合は、タイムスタンプとしてデータベースに保存することをお勧めします。PHPでは、この値は関数time();によって生成できます。

于 2013-02-14T07:50:39.790 に答える
0

このdate()関数は、2 番目のパラメーターとしてタイムスタンプを想定しています。DateTimeオブジェクトを使用して日付を作成し、次に関数DateTime::formatを作成します。

$date = new DateTime($create_date);
echo $date->format('M-d ,Y g:i A');
于 2013-02-14T07:46:52.163 に答える
0

日付の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コードのデフォルトのタイムゾーンをリセットします...ユースケースでそれが重要かどうかはわかりません

于 2013-02-14T07:48:12.290 に答える