💻 자주 쓰는 PHP 함수

[PHP 함수] 날짜 계산: date() 함수로 특정 기준일 기준, 지난 12개월 구하기

rhandy 2025. 3. 12. 08:55
728x90

PHP에서 날짜와 시간을 다룰 때 가장 많이 사용하는 함수 중 하나가 date()입니다. 특히 특정 기준일을 설정하고, 그 기준일을 중심으로 지난 12개월(1년)을 구하고 싶을 때 date()와 strtotime()을 활용하면 간단하게 해결할 수 있습니다. 이번 포스팅에서는 PHP에서 특정 기준일(예: 2024년 12월)을 기준으로 지난 12개월 동안의 연월을 구하는 방법을 자세히 알아보겠습니다.

1. PHP date() 함수란?

PHP의 date() 함수는 날짜와 시간을 특정 형식으로 출력할 수 있도록 도와줍니다. 기본적인 사용법은 다음과 같습니다.

<?php
echo date("Y-m-d"); // 오늘 날짜 출력 (예: 2025-03-11)
?>

이제 이 함수를 활용하여 특정 날짜를 기준으로 지난 12개월을 구하는 방법을 살펴보겠습니다.


2. 특정 기준일을 설정하고 지난 12개월 구하기

특정 기준일을 설정한 후, strtotime()을 이용해 루프를 돌면서 지난 12개월을 구할 수 있습니다.

 strtotime()을 이용한 방법

<?php
$baseDate = "2024-12"; // 기준 년월 설정
for ($i = 0; $i < 12; $i++) {
    $date = date("Y-m", strtotime("-$i months", strtotime($baseDate . "-01")));
    echo $date . "\n";
}
?>

🔍 코드 설명

  1. 기준 날짜 설정: $baseDate = "2024-12";
  2. for 문 실행 (12개월 반복): $i = 0부터 $i < 12까지 증가
  3. 이전 달 계산: strtotime("-$i months", strtotime($baseDate . "-01"))
    • strtotime($baseDate . "-01"): 기준일을 2024-12-01로 변환
    • strtotime("-$i months", ...): $i개월 전 날짜 계산
  4. date()로 연월(Y-m) 포맷으로 변환하여 출력

실행 결과

2024-12
2024-11
2024-10
2024-09
2024-08
2024-07
2024-06
2024-05
2024-04
2024-03
2024-02
2024-01

이렇게 하면 특정 기준일을 기준으로 지난 12개월 동안의 연월을 쉽게 구할 수 있습니다.


3. DateTime 클래스를 활용한 방법

PHP에서는 DateTime 클래스를 사용하여 날짜를 좀 더 객체지향적으로 다룰 수도 있습니다.

<?php
$baseDate = new DateTime("2024-12-01");
for ($i = 0; $i < 12; $i++) {
    echo $baseDate->format("Y-m") . "\n";
    $baseDate->modify("-1 month");
}
?>

 DateTime 방식의 장점

  • modify()를 사용하여 직접 날짜 변경 가능
  • 가독성이 좋고 유지보수하기 쉬움
  • date() 함수보다 다양한 기능을 제공

실행 결과 (동일)

2024-12
2024-11
2024-10
2024-09
2024-08
2024-07
2024-06
2024-05
2024-04
2024-03
2024-02
2024-01

4. 결론

PHP에서 특정 날짜를 기준으로 지난 12개월을 구하는 방법을 살펴봤습니다. date()와 strtotime()을 사용하면 간단하게 해결할 수 있으며, 보다 객체지향적인 접근 방식이 필요하다면 DateTime 클래스를 활용하는 것도 좋은 방법입니다. 여러분의 프로젝트에서 적절한 방법을 선택하여 활용해 보세요!

728x90