クエリ効率を向上させるために、通常、時刻を保存するために int(11) 型のタイムスタンプを使用します。ただし、これには欠点があり、タイムスタンプが表示されるため、実際の日付と時刻を知ることが困難になります。
mysql は、形式を変換するためのタイムスタンプ フォーマット関数 from_unixtime を提供します。
from_unxitime 構文の説明:
from_unixtime(unix_timestamp, format)
に従ってフォーマットされた Unix タイム スタンプの文字列を返します。フォーマットします。形式が設定されていない場合、デフォルトでは形式 %Y-%m-%d %H:%i:%s
が使用されます。例:
mysql> select from_unixtime(1459338786); +---------------------------+ | from_unixtime(1459338786) | +---------------------------+ | 2016-03-30 19:53:06 | +---------------------------+ 1 row in set (0.00 sec) mysql> select from_unixtime(1459338786, '%Y-%m-%d %H:%i:%s'); +------------------------------------------------+ | from_unixtime(1459338786, '%Y-%m-%d %H:%i:%s') | +------------------------------------------------+ | 2016-03-30 19:53:06 | +------------------------------------------------+ 1 row in set (0.00 sec)
format 形式の説明:
%M 月名 (1 月~12 月)
mysql> select from_unixtime(addtime,'%Y-%m-%d %H') as date,count(*) from `table` group by from_unixtime(addtime,'%Y-%m-%d %H');+---------------+----------+| date | count(*) |+---------------+----------+| 2016-03-30 19 | 409 || 2016-03-30 20 | 161 |+---------------+----------+2 rows in set (0.00 sec)
以上がmysql タイムスタンプ形式関数 from_unixtime の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。