MySQL は、タイムスタンプの処理をサポートする一般的に使用されるリレーショナル データベース管理システムです。タイムスタンプは、ほとんどのコンピュータ システムで時刻と日付を表す記録された方法です。タイムスタンプは MySQL データベースに保存し、クエリや並べ替えなどを行うことができます。ただし、タイムスタンプを使用すると、変換の問題が発生することがあります。この記事では、MySQLのタイムスタンプ変換方法を紹介します。
1. UNIX タイムスタンプと MySQL タイムスタンプの比較
Unix タイムスタンプは Unix の時間表現であり、1970 年 1 月 1 日からの秒数を表します。多くの Unix アプリケーションでは、タイムスタンプは整数として表されることがよくあります。たとえば、PHP および Java では、time() 関数を使用して現在の UNIX タイムスタンプを取得します。
MySQL は、年、月、日などの複雑なタイムスタンプ形式をサポートしています。これらのタイムスタンプは日付と時刻と組み合わせて使用できます。 MySQL は、UNIX のタイムスタンプと同じ形式である UNIX タイムスタンプ形式のタイムスタンプをサポートします。
2. UNIX タイムスタンプから MySQL タイムスタンプへの変換
UNIX タイムスタンプと MySQL タイムスタンプ間の変換は一般的な問題です。 MySQL データベースでは、タイムスタンプの形式は「YYYY-MM-DD HH:MI:SS」ですが、Unix では、タイムスタンプの形式は秒単位の整数です。 UNIX タイムスタンプを MySQL タイムスタンプに変換する方法を見てみましょう。
方法 1: FROM_UNIXTIME() 関数を使用する
MySQL には、UNIX タイムスタンプを MySQL タイムスタンプに変換できる FROM_UNIXTIME() という関数が用意されています。この関数は、「1970-01-01 00:00:00」(UTC 時間) からの秒数を表す整数パラメーターを受け入れます。
たとえば、Unix タイムスタンプ 1587211731 を MySQL タイムスタンプに変換する場合、次のステートメントを使用できます:
SELECT FROM_UNIXTIME(1587211731,'%Y-%m-%d %H:%i:%s');
結果は次のようになります:
2020-04-18 20:35:31
If現在時刻を変換したい MySQL タイムスタンプに変換するには、次のステートメントを使用できます:
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y-%m-%d %H:%i:%s');
このステートメントは現在時刻を取得し、MySQL タイムスタンプに変換します。
方法 2: DATE_FORMAT() 関数を使用する
もう 1 つの方法は、DATE_FORMAT() 関数を使用することです。この関数は、タイムスタンプを含め、MySQL でサポートされている任意の形式に日付をフォーマットできます。
次は、このメソッドの実装例です:
SELECT DATE_FORMAT(FROM_UNIXTIME(1587211731),'%Y-%m-%d %H:%i:%s');
結果は上記の結果と同じです:
2020-04-18 20:35:31
3. MySQL タイムスタンプから UNIX タイムスタンプへの変換
MySQL タイムスタンプは、UNIX_TIMESTAMP() 関数を使用して UNIX タイムスタンプ形式に変換できます。この関数は日付または時刻パラメータを受け取り、「1970-01-01 00:00:00」(UTC 時間) からの秒数を返します。
たとえば、MySQL タイムスタンプ 2020-04-18 20:35:31 を UNIX タイムスタンプに変換する場合、次のステートメントを使用できます:
SELECT UNIX_TIMESTAMP('2020-04-18 20:35:31');
結果は次のようになります。 :
1587211731
現在時刻を UNIX タイムスタンプに変換する場合は、次のステートメントを使用できます:
SELECT UNIX_TIMESTAMP(NOW());
このステートメントは現在時刻を取得し、UNIX タイムスタンプに変換します。
4. 概要
この記事では、MySQL のタイムスタンプ変換方法を紹介します。 UNIX タイムスタンプを MySQL タイムスタンプに変換する場合は、FROM_UNIXTIME() 関数または DATE_FORMAT() 関数を使用します。 MySQL タイムスタンプを UNIX タイムスタンプに変換する場合は、UNIX_TIMESTAMP() 関数を使用できます。これらの関数を使用するときは、必ず正しい形式文字列を渡してください。
以上がmysqlのタイムスタンプ変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。