PHPで日付や時刻の一部を簡単に取得する方法:getdate関数の使い方

PHPで日付や時刻の一部を取得する方法を、getdate関数を使って解説します。

PHPで日付や時刻の一部を取り出して使いたいんだけど、どうすればいいの?

それなら、getdate関数を使うと便利ですよ。具体的な使い方を、サンプルコードを交えながら解説しますね。

目次

受講者数No.1!初心者からプロへ導く信頼のスクール

    短期間で習得可能!未経験から実践力を磨く充実のプログラム

    今なら無料相談でAmazonギフトカードがもらえる!

    PHPで日付や時刻の取得方法について

    PHPには、日付や時刻を取得・操作するための多くの関数が用意されています。これらの関数を使うことで、現在の日付や時刻を取得したり、特定のフォーマットで出力したりすることが簡単にできます。以下に、いくつかの代表的な関数を紹介します。

    現在の日時を取得する関数

    date関数は、指定したフォーマットで現在の日付や時刻を取得するために使われます。

    <?php
    echo date("Y-m-d H:i:s"); // 出力例: 2024-06-11 14:35:20
    ?>

    time関数は、現在のUnixタイムスタンプを取得します。Unixタイムスタンプは、1970年1月1日00:00:00 UTCからの経過秒数を表します。

    <?php
    echo time(); // 出力例: 1592474110
    ?>

    mktime関数は、指定した日時のUnixタイムスタンプを取得します。

    <?php
    $timestamp = mktime(0, 0, 0, 6, 11, 2024);
    echo $timestamp; // 出力例: 1718102400
    ?>

    特定の日付や時刻の要素を取得する関数

    getdate関数は、指定したタイムスタンプから日付や時刻の各要素を取得し、連想配列として返します。例えば、年、月、日、時、分、秒などの情報が含まれます。

    <?php
    $date_info = getdate();
    echo "Year: " . $date_info['year'] . "\n"; // 出力例: 2024
    echo "Month: " . $date_info['mon'] . "\n"; // 出力例: 6
    echo "Day: " . $date_info['mday'] . "\n"; // 出力例: 11
    ?>

    strftime関数は、指定したフォーマットで日時を文字列としてフォーマットします。フォーマットは、C言語のstrftime関数に基づいています。

    <?php
    echo strftime("%Y-%m-%d %H:%M:%S"); // 出力例: 2024-06-11 14:35:20
    ?>

    日付や時刻の計算を行う関数

    strtotime関数は、テキスト形式の日付や時刻をUnixタイムスタンプに変換します。これにより、文字列で表現された日時を計算することができます。

    <?php
    $timestamp = strtotime("2024-06-11");
    echo date("Y-m-d H:i:s", $timestamp); // 出力例: 2024-06-11 00:00:00
    ?>

    date_add関数は、DateTimeオブジェクトに対して日時を加算します。

    <?php
    $date = new DateTime('2024-06-11');
    $date->add(new DateInterval('P10D'));
    echo $date->format('Y-m-d'); // 出力例: 2024-06-21
    ?>

    getdate関数の基本的な使い方

    getdate関数は、指定したタイムスタンプから日付や時刻の各要素を取得し、連想配列として返す便利な関数です。これにより、年、月、日、時、分、秒などの情報を簡単に取得することができます。以下に、基本的な使い方を解説します。

    getdate(int $timestamp = time()): array
    • $timestamp: 取得したい日時のUnixタイムスタンプ。省略すると現在のタイムスタンプが使われます。
    • 戻り値: 日付や時刻の各要素を含む連想配列。

    連想配列のキー

    getdate関数は以下のキーを持つ連想配列を返します:

    • seconds: 秒(0から59)
    • minutes: 分(0から59)
    • hours: 時(0から23)
    • mday: 月の中の日(1から31)
    • wday: 週の日(0から6、日曜日が0)
    • mon: 月(1から12)
    • year: 年(例:2024)
    • yday: 年の中の日(0から365)
    • weekday: 曜日名(例:Monday)
    • month: 月名(例:January)

    基本的な使い方の例

    現在の日時の情報を取得する基本的な使い方を以下に示します:

    <?php
    $date_info = getdate();
    echo "Year: " . $date_info['year'] . "\n"; // 出力例: 2024
    echo "Month: " . $date_info['mon'] . "\n"; // 出力例: 6
    echo "Day: " . $date_info['mday'] . "\n"; // 出力例: 11
    echo "Hour: " . $date_info['hours'] . "\n"; // 出力例: 14
    echo "Minute: " . $date_info['minutes'] . "\n"; // 出力例: 35
    echo "Second: " . $date_info['seconds'] . "\n"; // 出力例: 20
    ?>

    特定のタイムスタンプから日時を取得する

    特定のタイムスタンプを使って、その日時の情報を取得することもできます。例えば、特定の日付を指定して、その日の情報を取得する場合です。

    <?php
    $timestamp = mktime(0, 0, 0, 6, 11, 2024);
    $date_info = getdate($timestamp);
    echo "Year: " . $date_info['year'] . "\n"; // 出力例: 2024
    echo "Month: " . $date_info['mon'] . "\n"; // 出力例: 6
    echo "Day: " . $date_info['mday'] . "\n"; // 出力例: 11
    echo "Hour: " . $date_info['hours'] . "\n"; // 出力例: 0
    echo "Minute: " . $date_info['minutes'] . "\n"; // 出力例: 0
    echo "Second: " . $date_info['seconds'] . "\n"; // 出力例: 0
    ?>

    サンプルプログラムの解説

    ここでは、getdate関数を使った具体的なサンプルプログラムを紹介し、その動作を詳しく解説します。このプログラムでは、現在の日時および特定の日時の情報を取得して表示します。

    <?php
    // 現在のタイムスタンプを取得
    $current_timestamp = time();
    // 現在のタイムスタンプから日付や時刻の情報を取得
    $current_date_info = getdate($current_timestamp);
    echo "現在の日時情報:\n";
    echo "年: " . $current_date_info['year'] . "\n";
    echo "月: " . $current_date_info['mon'] . "\n";
    echo "日: " . $current_date_info['mday'] . "\n";
    echo "時: " . $current_date_info['hours'] . "\n";
    echo "分: " . $current_date_info['minutes'] . "\n";
    echo "秒: " . $current_date_info['seconds'] . "\n";
    echo "\n";
    
    // 特定のタイムスタンプを作成
    $specific_timestamp = mktime(0, 0, 0, 6, 11, 2024);
    // 特定のタイムスタンプから日付や時刻の情報を取得
    $specific_date_info = getdate($specific_timestamp);
    echo "特定の日付 2024-06-11 の日時情報:\n";
    echo "年: " . $specific_date_info['year'] . "\n";
    echo "月: " . $specific_date_info['mon'] . "\n";
    echo "日: " . $specific_date_info['mday'] . "\n";
    echo "時: " . $specific_date_info['hours'] . "\n";
    echo "分: " . $specific_date_info['minutes'] . "\n";
    echo "秒: " . $specific_date_info['seconds'] . "\n";
    ?>

    time関数を使って、現在のUnixタイムスタンプを取得します。

    getdate関数を使って、現在のタイムスタンプから日付や時刻の各要素を取得し、連想配列として返します。

    getdate関数で取得した連想配列から各要素を取り出し、現在の日時情報を表示します。

    mktime関数を使って、2024年6月11日のタイムスタンプを作成します。このタイムスタンプは、指定された日時のUnixタイムスタンプを表します。

    getdate関数を使って、特定のタイムスタンプから日付や時刻の各要素を取得し、連想配列として返します。

    getdate関数で取得した連想配列から各要素を取り出し、特定の日付の日時情報を表示します。

    まとめ

    • getdate関数を使うと、タイムスタンプから日付や時刻の各要素を取得できます。
    • time関数mktime関数を使って、現在や特定の日時のタイムスタンプを取得します。
    • getdate関数は、年、月、日、時、分、秒などの情報を含む連想配列を返します。

    PHPで日付や時刻を扱う際は、タイムゾーンの設定を忘れずに行いましょう。正確な時間を取得するためには、タイムゾーン設定が重要です。PHPではdate_default_timezone_set関数を使ってタイムゾーンを設定できます。

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!
    目次