サンプル集  >  PHP  >  指定した日数分の日付文字列を作成②
指定した日数分の日付文字列を作成②
2025/06/21

指定した日付から指定した日数分の日付文字列を作成します。

◆環境
OS Windows 10 Home 21H2 (64bit)
PHP 8.0.12

DateTimeクラスで指定した日数後の日付を取得し、それを取得したい日数分forで回すようにしてみます。

AddDate.php
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
<?php
/**
 * 指定された日付に指定された日数後の日付を返す関数
 * 
 * @param string $baseDate YYYYMMDD形式の文字列
 * @param int $days 経過日数
 * @return string $baseDateの指定された日後のYYYYMMDD形式の文字列
 */

function getAddDate($baseDate, $days)
{
    $dtNextDate = new DateTime($baseDate."+".strval($days)." day");
    return $dtNextDate->format('Ymd');
}

for ($i=0; $i<=intval($argv[2]); $i++)
{
    $date = getAddDate($argv[1], $i);
    print($i."日後:".$date."\n");
}
?>

2025/6/21から15日間の日付文字列を作成してみます。

>php AddDate.php 20250621 15
0日後:20250621
1日後:20250622
2日後:20250623
3日後:20250624
4日後:20250625
5日後:20250626
6日後:20250627
7日後:20250628
8日後:20250629
9日後:20250630
10日後:20250701
11日後:20250702
12日後:20250703
13日後:20250704
14日後:20250705
15日後:20250706

期待通りに動作しました。

初日(0日後)も同じロジックで表示できるので良いかもしれません。

▲ PageTop ■ Home


Copyright (C) 2025 ymlib.com