データベースにUNIXタイムスタンプ形式で日付データを保存していることは
よくあると思います。
そのデータベースに登録されたデータを、たとえば先月分だけ取り出したい
というときに、mktimeを使って簡単に得ることができます。
ちなみに、MySQLのDATE_FORMAT()を使えばもっと簡単にできますが、使えない
環境もあったり、複雑な処理はできなかったりするので、mktimeを使わざるを
得ないこともあると思います。
mktimeは指定された日時のunixタイムスタンプを作成してくれます。
以下のように使います。
1 |
$timestamp = mktime(時間、分、秒、月、日、年); |
ただ、どっからでも省略でき、省略された部分はその時刻の値が入ります。
たとえば、以下のようにすると、このスクリプトを実行した日の8時10分30秒
のタイムスタンプが得られます。
1 |
$timestamp = mktime(8, 10, 30); |
なので、今月の最初を表したいときは
1 |
$timestamp = mktime(0, 0, 0, date('n'), 1); |
/