私はmysqlデータベースを持っており、日付が次のように保存されるdatetimeデータ型のフィールドが1つあります
2013-09-07 13:20:35
今、私はこの日付と時刻をこのようなウェブページに表示したい
07-09-2013 1:20:35 AM
これを達成するためのphp関数/メソッドはありますか。
前もって感謝します
私はmysqlデータベースを持っており、日付が次のように保存されるdatetimeデータ型のフィールドが1つあります
2013-09-07 13:20:35
今、私はこの日付と時刻をこのようなウェブページに表示したい
07-09-2013 1:20:35 AM
これを達成するためのphp関数/メソッドはありますか。
前もって感謝します
このコードを試してください
echo date('d-m-Y H:i:s', strtotime($yourVariable));
数値と同様に、日付の値が実際にはテキスト形式でまったく保存されないことを願っています。これは、数値を 10 進数ではなく 16 進数で格納するようにデータベースに要求するようなものです。
データ内の固有の値を、それらを提示するときに適用されるテキスト形式から分離する必要があります。通常、代わりにクライアント側でデータをフォーマットすることをお勧めします(通常は、より多くのユーザー コンテキストがあります) が、SELECT
ステートメントでフォーマットを指定することもできます。
SELECT DATE_FORMAT(StartDate, '%d-%m-%y') FROM SomeTable
同様に、データを挿入または更新するときは、パラメーター化された SQL を使用して、日付をテキストとしてまったく指定しないようにします。通常、クライアント ライブラリはデータをネイティブ バイナリ形式でデータベースに渡すことができるはずです。
一般に、文字列変換は、実際に必要でない限り (ユーザーへの表示など) 避けるべきです。これらは、特に国際化 (カルチャ間で日付形式が異なる可能性がある) に関して、微妙なエラーの原因となることがよくあります。詳細については、データの意味に関する私のブログ投稿を参照してください。