ホームページ >データベース >mysql チュートリアル >mysqlのタイムスタンプを変換する方法
1. UNIX タイムスタンプと MySQL タイムスタンプの比較
Unix タイムスタンプは、1970 年 1 月 1 日から経過した秒数を表し、Unix タイムスタンプの時刻表現方法の一種です。 。多くの 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 タイムスタンプに変換します。
以上がmysqlのタイムスタンプを変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。