5

echo['time']たとえば、データベースから取得したとき

2012-07-21 17:00:00

私の質問は、取得したすべてのタイムスタンプの時間と分のみを表示するにはどうすればよいですか? (17:00)

4

6 に答える 6

13

次のように選択できます。

SELECT TIME_FORMAT(`dateColumn`, '%H:%i') FROM ...

またはstrtotime、他の回答で述べたように使用します。

秒単位のフルタイムが必要な場合は、次を使用することもできます。

SELECT TIME(`dateColumn`) FROM ...

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.htmlを参照してください。

于 2012-07-21T02:22:33.240 に答える
6

それを適切に解析し、必要なものをDateTimeクラスでエコーする必要があります。

$time = '2012-07-21 17:00:00';
$date = DateTime::createFromFormat( 'Y-m-d H:i:s', $time, new DateTimeZone( 'America/New_York'));
echo $date->format( 'H:i'); // Will print 17:00

デモ

于 2012-07-21T02:23:11.117 に答える
3

あなたはクリスが言ったことをすることができます echo date('H:i', strtotime('2012-07-21 17:00:00'));

できればMySQLから処理する方がベタープラクティスですが、

select date_format(time, '%H:%i') from table;

データを取得してフォーマットする必要があります。

于 2012-07-21T02:24:42.837 に答える
1

echo date('H:i', strtotime($row['time']));

または、日時関数を使用してSQLクエリをフォーマットできます

于 2012-07-21T02:21:53.350 に答える
0
echo date('H:i', strtotime('2012-07-21 17:00:00'));
于 2012-07-21T02:21:32.447 に答える