MySQL における時刻変換とは、日付からタイムスタンプへの変換、タイムスタンプから日付への変換など、異なる形式の時刻データを相互に変換するプロセスを指します。時刻を正しく変換すると、データベース内の時刻データの管理と使用が容易になります。次に、さまざまな時刻形式から始めて、MySQL で一般的に使用される時刻変換方法を紹介します。
MySQL では、UNIX_TIMESTAMP 関数を使用して日付をタイムスタンプに変換できます。 UNIX_TIMESTAMP 関数の構文は次のとおりです。
UNIX_TIMESTAMP(date)
このうち、date は正当な日付式であり、日付型の列名、文字列型の日付、または日付型の変数を指定できます。
SELECT UNIX_TIMESTAMP('2022-07-01 00:00:00'); SELECT UNIX_TIMESTAMP(NOW()); SELECT UNIX_TIMESTAMP(date_column) FROM table_name;
上の例では、最初の SELECT ステートメントは日付文字列 '2022-07-01 00:00:00' をタイムスタンプに変換し、2 番目の SELECT ステートメントは現在の時刻を変換します。 to timestamp; 3 番目の SELECT ステートメントは、テーブル内の日付列をタイムスタンプに変換します。 UNIX_TIMESTAMP 関数は第 2 レベルのタイムスタンプを返すことに注意してください。ミリ秒レベルのタイムスタンプが必要な場合は、UNIX_TIMESTAMP*1000 関数を使用できます。
同様に、MySQL では、FROM_UNIXTIME 関数を使用してタイムスタンプを日付に変換できます。 FROM_UNIXTIME 関数の構文は次のとおりです:
FROM_UNIXTIME(unix_timestamp, format)
このうち、unix_timestamp は変換対象のタイムスタンプで、数値または日付列名を指定でき、format は日付の書式設定文字列です。たとえば、タイムスタンプを「yyyy-mm-dd hh:mm:ss」形式の日付に変換するには、次のステートメントを使用できます:
SELECT FROM_UNIXTIME(1625041238, '%Y-%m-%d %H:%i:%s');
このステートメントは 2021-06-30 11 を返します。 :53:58、形式文字列内の個々のプレースホルダーも自由に調整できます。一般的に使用される書式設定文字の一部を次に示します。
#書式設定文字 | #意味 |
---|---|
4 桁の年 (例: 2022) | |
2 桁の月 (例: 01 または 12) ) | |
2 桁の日付 (例: 01 または 31) | |
2 桁の時 (例: 00 または 23) | |
2 桁の分 (例: 00 または 59) | |
2 桁の秒 (例: 00 または 59) | |
マイクロ秒 (000000) ~ 999999) | |
週 (例: 日曜日から土曜日まで) | |
週の短縮名 (例: Sun ~ Sat) | |
月の短縮名 (例: Jan ~ Dec) | %p |
STR_TO_DATE(str, format)
SELECT STR_TO_DATE('2022-07-01', '%Y-%m-%d');
日付を文字列に変換する
DATE_FORMAT(date, format)
SELECT DATE_FORMAT('2022-07-01', '%Y-%m-%d');
以上がmysql時間変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。