date_add()
デート・アド(データ操作と変換)
意味 日付時刻に期間を加算
date_add()とは?
date_add()関数は、指定された日付時刻に一定の期間を加算するためのPHPの関数です。DateTimeオブジェクトに対して使用し、年、月、日、時間、分、秒などの単位で時間を追加できます。
date_add()の具体的な使い方
複数の期間を加算する例
<?php
$date = new DateTime('2023-06-01');
date_add($date, new DateInterval('P1Y2M3DT4H30M'));
echo $date->format('Y-m-d H:i:s');
👇出力結果
2024-08-04 04:30:00
この例では、date_add()関数を使用して、指定された日付に1年2ヶ月3日4時間30分を加算しています。DateIntervalオブジェクトを使用して複雑な期間を表現しています。
営業日の計算例
<?php
function addBusinessDays($date, $days) {
$businessDays = 0;
while ($businessDays < $days) {
date_add($date, new DateInterval('P1D'));
if ($date->format('N') < 6) { // 1(月)から5(金)まで
$businessDays++;
}
}
return $date;
}
$startDate = new DateTime('2023-06-01'); // 木曜日
$endDate = addBusinessDays($startDate, 5);
echo "開始日: " . $startDate->format('Y-m-d (D)') . "\n";
echo "5営業日後: " . $endDate->format('Y-m-d (D)");
👇出力結果
開始日: 2023-06-01 (Thu)
5営業日後: 2023-06-08 (Thu)
この例では、date_add()関数を使用してカスタムの営業日計算関数を作成しています。週末をスキップして指定された営業日数を加算します。
月末を考慮した日付加算
<?php
$dates = [
new DateTime('2023-01-31'),
new DateTime('2023-03-31'),
new DateTime('2023-04-30')
];
foreach ($dates as $date) {
$original = $date->format('Y-m-d');
date_add($date, new DateInterval('P1M'));
echo $original . " の1ヶ月後: " . $date->format('Y-m-d') . "\n";
}
👇出力結果
2023-01-31 の1ヶ月後: 2023-02-28
2023-03-31 の1ヶ月後: 2023-04-30
2023-04-30 の1ヶ月後: 2023-05-30
この例では、月末の日付に対してdate_add()関数で1ヶ月を加算しています。月によって日数が異なる場合の動作を確認できます。
date_add()に関するよくある質問
date_add()が学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのdate_add()やpreg_match()、strtotime()、max()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
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」カテゴリーが追加されましました!