PHP로 이전 날짜, 다음 날짜를 구하는 방법을 정리해보겠습니다.
ToC on/off
개요
PHP로 개발할 때 기준 날짜 기준으로 이전 날짜, 다음 날짜를 구하는 방법을 정리해보겠습니다.
날짜 계산하는 방법은 여러가지 있지만 이번에는 [$obj->sub(new DateInterval(“P1D”));] 방식을 이용해보겠습니다.
핵심 기능
이전 날짜를 계산할 때는 $obj->sub();
다음 날짜를 계산할 때는 $obj->add();
<?php
$prev_date_obj->sub(new DateInterval("P1D"));
$next_date_obj->add(new DateInterval("P1D"));
?>
이전 날짜, 다음 날짜
기준일의 1일전, 1일후 날짜를 구해보겠습니다.
<?php
$check_date = "2023-01-06";
$prev_date_obj = new DateTime($check_date);
$prev_date_obj->sub(new DateInterval("P1D"));
$prev_date = $prev_date_obj->format("Y-m-d");
$next_date_obj = new DateTime($check_date);
$next_date_obj->add(new DateInterval("P1D"));
$next_date = $next_date_obj->format("Y-m-d");
echo("prev_date : ".$prev_date."<br />");
echo("check_date : ".$check_date."<br />");
echo("next_date : ".$next_date."<br />");
?>
⁃ prev_date : 2023-01-05
⁃ check_date : 2023-01-06
⁃ next_date : 2023-01-07
⁃ check_date : 2023-01-06
⁃ next_date : 2023-01-07
기준일의 3일전, 3일후 날짜를 구해보겠습니다.
<?php
$check_date = "2023-01-06";
$prev_date_obj = new DateTime($check_date);
$prev_date_obj->sub(new DateInterval("P3D"));
$prev_date = $prev_date_obj->format("Y-m-d");
$next_date_obj = new DateTime($check_date);
$next_date_obj->add(new DateInterval("P3D"));
$next_date = $next_date_obj->format("Y-m-d");
echo("prev_date : ".$prev_date."<br />");
echo("check_date : ".$check_date."<br />");
echo("next_date : ".$next_date."<br />");
?>
⁃ prev_date : 2023-01-03
⁃ check_date : 2023-01-06
⁃ next_date : 2023-01-09
⁃ check_date : 2023-01-06
⁃ next_date : 2023-01-09
이전 주, 다음 주
기준일의 1주일 전, 1주일 후 날짜를 구해보겠습니다.
<?php
$check_date = "2023-01-06";
$prev_date_obj = new DateTime($check_date);
$prev_date_obj->sub(new DateInterval("P1W"));
$prev_date = $prev_date_obj->format("Y-m-d");
$next_date_obj = new DateTime($check_date);
$next_date_obj->add(new DateInterval("P1W"));
$next_date = $next_date_obj->format("Y-m-d");
echo("prev_date : ".$prev_date."<br />");
echo("check_date : ".$check_date."<br />");
echo("next_date : ".$next_date."<br />");
?>
⁃ prev_date : 2022-12-30
⁃ check_date : 2023-01-06
⁃ next_date : 2023-01-13
⁃ check_date : 2023-01-06
⁃ next_date : 2023-01-13
이전 달, 다음 달
기준일의 1달 전, 1달 후 날짜를 구해보겠습니다.
<?php
$check_date = "2023-01-06";
$prev_date_obj = new DateTime($check_date);
$prev_date_obj->sub(new DateInterval("P1M"));
$prev_date = $prev_date_obj->format("Y-m-d");
$next_date_obj = new DateTime($check_date);
$next_date_obj->add(new DateInterval("P1M"));
$next_date = $next_date_obj->format("Y-m-d");
echo("prev_date : ".$prev_date."<br />");
echo("check_date : ".$check_date."<br />");
echo("next_date : ".$next_date."<br />");
?>
⁃ prev_date : 2022-12-06
⁃ check_date : 2023-01-06
⁃ next_date : 2023-02-06
⁃ check_date : 2023-01-06
⁃ next_date : 2023-02-06