【PHP】これで分かる関数! – 日付・時刻その2 –

PHP

更新履歴

更新日更新者更新内容
2021/8/21JJI・サンプルプログラムの実行結果に画面の画像を追加

はじめに

日付・時刻の配列を表示する場合、次の記事で載せている関数を使用しています。

サンプルプログラムの実行結果に載せている画面とHTMLは違う時間で取得したため、実行結果の時間はずれています。

時刻、日付の取得

時刻、日付の取得では、次の関数について説明します。

関数説明(PHPマニュアル抜粋)
microtime現在のUnixタイムスタンプをマイクロ秒まで返す
mktime日付をUnixのタイムスタンプとして取得する
time現在のUnixタイムスタンプを返す

上記の表に書いているUNIXのタイプスタンプは次の意味です。
PHPで日付・時刻を取り扱う場合によく出てくる言葉です。

UNIXのタイムスタンプ

UNIXのタイムスタンプはUnix epoch(1970年1月1日00:00:00 GMT)から 指定された時刻までの通算秒です。
通算秒のため、1624227388のような数字で時刻を管理しています。

microtime/time

microtime()、time()関数を使用したサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);

    require_once __DIR__ . "../../../lib/sample_common.php";

    echo "ファイル名:" . basename(__FILE__) . "<br>\n";
    echo "【PHP】関数<br>\n";
    echo "日付・時刻関数:microtime、time<br>\n";
    
    echo "microtime():" . microtime().  ":<br>\n";      // 文字列で返却
    echo "<br>\n";

    echo "microtime(true):" . microtime(true).  ":<br>\n";  // float型で返却
    echo "<br>\n";

    echo "time():" . time().  ":<br>\n";      // int型で返却
    echo "<br>\n";
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_04_03.php<br>
【PHP】関数<br>
日付・時刻関数:microtime、time<br>
microtime():0.56702400 1624165186:<br>
<br>
microtime(true):1624165186.567:<br>
<br>
time():1624165186:<br>
<br>

mktime

mktime()関数を使用したサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);

    require_once __DIR__ . "../../../lib/sample_common.php";

    echo "ファイル名:" . basename(__FILE__) . "<br>\n";
    echo "【PHP】関数<br>\n";
    echo "日付・時刻関数:mktime<br>\n";
    echo "mktime()の返却値はUnixタイムスタンプで返却値が分かりにくいため、date()関数で変換している<br>\n";
    echo "<br>\n";
    
    echo 'mktime(22)[' . mktime(22).  "]<br>\n";
    echo "22時[" . date("Y/m/d/ H:i:s", mktime(22)).  "]<br>\n";
    echo "<br>\n";

    echo "22時10分37秒[" . date("Y/m/d/ H:i:s", mktime(22, 10, 37)).  "]<br>\n";
    echo "<br>\n";

    echo "2010年9月23日[" . date("Y/m/d/ H:i:s", mktime(0, 0, 0, 9, 23, 2010)).  "]<br>\n";
    echo "<br>\n";

    echo "2021年7月23日9時10分37秒[" . date("Y/m/d/ H:i:s", mktime(9, 10, 37, 7, 23, 2021)).  "]<br>\n";
    echo "<br>\n";
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_04_04.php<br>
【PHP】関数<br>
日付・時刻関数:mktime<br>
mktime()の返却値はUnixタイムスタンプで返却値が分かりにくいため、date()関数で変換している<br>
<br>
mktime(22)[1624221842]<br>
22時[2021/06/20/ 22:44:02]<br>
<br>
22時10分37秒[2021/06/20/ 22:10:37]<br>
<br>
2010年9月23日[2010/09/23/ 00:00:00]<br>
<br>
2021年7月23日9時10分37秒[2021/07/23/ 09:10:37]<br>
<br>

date()関数に指定可能な日付・時刻の形式は次のPHPマニュアルを見てください。

PHP: DateTimeInterface::format - Manual

コメント