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

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

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

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

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

function getNextDate($baseDate)
{
    $dtNextDate = new DateTime($baseDate.'+1 day');
    return $dtNextDate->format('Ymd');
}

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

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

>php ConsecutiveDates.php 20250621 15
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

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

▲ PageTop ■ Home


Copyright (C) 2025 ymlib.com