あたも技術ブログ

セットジャパンコーポレーションの社員が運営しています。

PHPの関数集(日付関連)

 今回はPHPで日付を出力する際によく使うと思われる関数のサンプルを紹介していきたいと思います。

現在日時を取得する

 現在日時はdate関数を使用します。date関数にフォーマットを指定することで指定したフォーマットの日時を取得することができます。
 PHPdate関数で日時を取得してもミリ秒までは取得できません。ミリ秒まで出力したい場合はstrtotime関数を使用します。

  function getNowDateTime() {
    return date("Y-m-d H:i:s");
  }
  
  function getNowDateTimeMicro() {
    return date("Y-m-d H:i:s") . "." . substr(explode(".", (microtime(true) . ""))[1], 0, 3);
  }

指定した月の月初、月末日を取得する。

PHPの場合、strtotime関数の書式指定で簡単に取得することができます。
modify関数へ引数の日付が変数展開されるよう記述しておきます。

  function getFirstDate($targetDate) {
    $d = new DateTime($targetDate);
    $d->modify("first day of $targetDate");
    return $d->format('Y-m-d H:i:s');
  }

  function getLastDate($targetDate) {
    $d = new DateTime($targetDate);
    $d->modify("last day of $targetDate");
    return $d->format('Y-m-d H:i:s');
  }
次月の月初、月末を取得する。

次月を求めるためにmodify関数へ引数の日付を変数展開されるよう記述しておきます。

  function getFirstDateNextMonth($targetDate) {
    $d = new DateTime($targetDate);
    $d->modify("first day of $targetDate next month");
    return $d->format('Y-m-d H:i:s');
  }

  function getLastDateNextMonth($targetDate) {
    $d = new DateTime($targetDate);
    $d->modify("last day of $targetDate next month");
    return $d->format('Y-m-d H:i:s');
  }

参考
http://php.net/manual/ja/function.date.phpphp.netPHPリファレンス date関数
http://php.net/manual/ja/function.microtime.phpphp.netPHPリファレンス microtime関数
http://php.net/manual/ja/function.strtotime.phpphp.netPHPリファレンス strtotime関数