Web/PHP

php 현재 달의 첫날과 마지막날(말일) 구하기

bitcoder 2022. 3. 18. 11:37
728x90

PHP 코드로 현재 달의 첫날과 마지막날을 구하는 방법을 소개합니다.

 

다음과 같은 세부 단계로 구합니다.

 

- DateTime 오브젝트변수를 생성 (현재 달의 첫날 구하기)

- 변수에 한달을 더함

- 변수에 하루를 뺌 (다음 달 1일의 하루 전날이니 지난 달의 마지막날이 되겠지요)

 

작성한 코드입니다.

<?php

$date = new DateTime(date("Y-m-01")); #DateTime 오브젝트변수를 생성
echo "이달 1일:" . $date->format("Y-m-d") . "\n";
$date->add(new DateInterval('P1M')); # 생성한 변수에 한달을 더함
$date->sub(new DateInterval('P1D')); # 변수에 하루를 뺌
echo "이달 말일:" . $date->format("Y-m-d") . "\n";

?>

 

실행결과입니다.

이달 1일:2022-03-01
이달 말일:2022-03-31

 

다음은 함수버전의 코드입니다.

<?php

function get_this_month_firstday() {
    $date = new DateTime(date("Y-m-01"));
    return $date;
}
function get_this_month_lastday() {
    $date = new DateTime(date("Y-m-01"));
    $date->add(new DateInterval('P1M'));
    $date->sub(new DateInterval('P1D'));
    return $date;
}

echo "이달 1일:" . get_this_month_firstday()->format("Y-m-d") . "\n";
echo "이달 말일:" . get_this_month_lastday()->format("Y-m-d") . "\n";

?>

 

실행결과는 동일합니다.

이달 1일:2022-03-01
이달 말일:2022-03-31
728x90