【mysql】UNIX_TIMESTAMP関数を使って日時計算| プロサバメモ

WEBプログラミングやサーバ設定などのメモ場

【mysql】UNIX_TIMESTAMP関数を使って日時計算

2022.03.21

UNIX_TIMESTAMP関数を使うと日時の計算が秒べ―スでできる。

目次

1. 使い方

UNIX_TIMESTAMP関数でdatetime型の値からunixタイムスタンプ(1970-01-01 00:00:00からの秒数)を取得する。

unixタイムスタンプに対して、秒値を加減算する。(1分なら60、10分なら600、1日なら14400などの秒数)

加減算したunixタイムスタンプを、FROM_UNIXTIME関数でdatetime型に戻す。

2. サンプル

現在日時の4日前の日時を取得する。

SELECT NOW(),FROM_UNIXTIME( UNIX_TIMESTAMP( NOW() ) - 60 * 60 * 24 * 4 ) 
NOW() FROM_UNIXTIME( UNIX_TIMESTAMP( NOW() ) - 60 * 60 * 24 * 4 )
2022-03-21 19:31:11 2022-03-17 19:31:11

FROM_UNIXTIME関数はフォーマット指定も可能。

現在日時の4日前の日を「YYYY年mm月dd日」形式で取得する。

フォーマットは、関連記事参照。

SELECT NOW(),FROM_UNIXTIME( UNIX_TIMESTAMP( NOW() ) - 60 * 60 * 24 * 4, '%Y年%m月%d日' ) 
NOW() FROM_UNIXTIME( UNIX_TIMESTAMP( NOW() ) - 60 * 60 * 24 * 4, '%Y年%m月%d日' )
2022-03-21 19:31:11 2022年03月17日

関連記事

TOP