15

Web サイトの mysql テーブルの TIME フィールドを表示したいのですが、21:00:00 などを表示するのではなく、午後 8:00 を表示したいと考えています。これを行うには関数/コード、または正しい方向へのポインターが必要です。いくつかのコードを含む最初の返信を正しい返信としてマークします。

4

5 に答える 5

18

これをチェックしてください:http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html

date_format() が必要だと思います。

例: DATE_FORMAT($date, "%r")

于 2008-10-06T02:00:08.973 に答える
16

次の例では、日付と時刻のデータを AM/PM 形式で表示します...

SELECT DATE_FORMAT(`t`.`date_field`,'%h:%i %p') AS `date_field` FROM `table_name` AS `t`

また

SELECT DATE_FORMAT(`t`.`date_field`,'%r') AS `date_field` FROM `table_name` AS `t`

どちらも正常に動作しています。

于 2012-03-05T11:35:40.687 に答える
3

MYSQL のUNIX_TIMESTAMP()関数を使用して、UNIX タイムスタンプとして列を選択することもできます。次に、PHP でフォーマットします。IMOこれはより柔軟です...

select a, b, c, UNIX_TIMESTAMP(instime) as unixtime;

PHPでは、date()関数を使用して、好きなようにフォーマットします。

<?php echo date('Y/m/d', $row->unixtime); ?>

SQLでフォーマットするのではなく、この方法が好きな理由はb / cです。私にとって、日付のフォーマットは表示の決定であり、(私の意見では)SQLでの日付のフォーマットは間違っていると感じます...なぜ表示ロジックをSQL?

現在 - PHP でデータを処理しておらず、アドホック クエリを実行している場合DATE_FORMAT()は、この方法をお勧めします。しかし、データを Web 上に表示する場合はUNIX_TIMESTAMP()、PHP で書式設定を行います...

つまり...ページに表示される日付と時刻を変更したいとしましょう...表示を微調整するためにSQLを変更する必要があるのは「気分が悪い」と思いませんか?

私の2セント

于 2008-10-06T03:06:16.360 に答える
2

私は同じことをしようとしていて、Google 検索からこのページが返されました。私は21:00:00の時間の解決策を講じました。

  • DATE_FORMAT(<field>,'%l.%i%p')9.00PMを返したものを使用

  • 9.00pmLOWER()を返すように関数を配置する

したがって、完全なコードは次のとおりです。DATE_FORMAT(<field>,'%l.%i%p')

私にとってはうまくいきました...

于 2009-07-10T12:00:14.793 に答える
1

DATE_FORMAT()を使用する

DATE_FORMAT(<フィールド>,'%h:%i:%s %p')

また

DATE_FORMAT(<フィールド>,'%r')

于 2008-10-06T02:19:35.690 に答える