{category}

PHP - 日付時間関数

strtotime()

ストゥートゥータイム(データ操作と変換

意味 日付文字列をタイムスタンプに


strtotime()とは?

strtotime()関数は、日付を表す文字列をUNIXタイムスタンプ(秒)に変換する関数です。英語の日付表現や相対的な時間表現('next Monday'、'+1 week'など)も理解でき、柔軟な日付処理が可能です。

strtotime()の具体的な使い方

次の月曜日の取得例

<?php
$timestamp = strtotime('next Monday');
echo date('Y-m-d', $timestamp);

👇出力結果

2023-06-05

この例では、'next Monday'(次の月曜日)のタイムスタンプを取得し、それをdate()関数で年-月-日形式に変換しています。実行時の日付によって結果は変わります。

相対的な日時計算例

<?php
$future = strtotime('+2 weeks 3 days 1 hour');
$past = strtotime('-1 month');

echo "2週間3日1時間後: " . date('Y-m-d H:i:s', $future) . "\n";
echo "1ヶ月前: " . date('Y-m-d', $past);

👇出力結果

2週間3日1時間後: 2023-06-18 11:30:00
1ヶ月前: 2023-05-01

この例では、strtotime()を使って現在の日時から相対的な未来と過去の日時を計算しています。柔軟な日時表現が可能です。

日付文字列のパース例

<?php
$date1 = strtotime('2023-12-31');
$date2 = strtotime('last day of December 2023');

if ($date1 === $date2) {
    echo "同じ日付です:" . date('Y-m-d', $date1);
} else {
    echo "異なる日付です";
}

👇出力結果

同じ日付です:2023-12-31

この例では、異なる形式で表現された同じ日付をstrtotime()でパースし、比較しています。strtotime()が様々な日付形式を理解できることを示しています。

strtotime()に関するよくある質問

Q. strtotime()の引数には何を指定できる?
A. strtotime()関数の引数には、英語の日付表現('next Monday', 'tomorrow'など)、相対的な時間表現('+1 week', '-2 days'など)、標準的な日付形式('2023-06-01', '01/15/2023'など)を指定できます。これにより、柔軟な日付計算が可能になります。
Q. strtotime()の戻り値の型は?
A. strtotime()関数の戻り値は、UNIXタイムスタンプと呼ばれる整数型(integer)です。これは1970年1月1日午前0時(UTC)からの経過秒数を表します。この値は他の日付時刻関数(例:date())と組み合わせて使用することができます。
Q. strtotime()でエラーが発生する場合は?
A. strtotime()関数は、引数の日付文字列を解析できない場合にfalseを返します。エラーを避けるためには、戻り値をチェックすることが重要です。例えば、if ($timestamp === false) { /* エラー処理 */ } のようにして、エラーハンドリングを行うことができます。

strtotime()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのstrtotime()やstrlen()、mb_substr()、date_add()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

strlen()

文字列の長さを取得

種類: 文字列関数

mb_substr()

マルチバイト文字列の一部を抽出

種類: マルチバイト文字列

date_add()

日付時刻に期間を加算

種類: DateTime クラス

論理演算子

条件の組み合わせを行う

種類: 基本演算子

SimpleXML

XMLを簡単に扱うための拡張機能

種類: XML