Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP에서 날짜 형식 변경하기: date(), strtotime(), date_format() 완벽 가이드

PHP에서 날짜 형식을 변경하는 것은 웹 개발에서 매우 자주 사용되는 작업입니다. date(), strtotime(), date_format() 같은 내장 함수를 활용하면 원하는 형식으로 날짜를 손쉽게 변환할 수 있습니다. 아래 예제들을 통해 실제 활용 방법을 살펴보겠습니다.

예제 1: strtotime()과 date() 함수 조합하기

strtotime() 함수는 날짜 문자열을 Unix 타임스탬프로 변환하며, '+ 20 days'처럼 상대적인 날짜 표현도 함께 처리할 수 있습니다. 이를 date() 함수와 조합하면 날짜 계산과 형식 변환을 동시에 수행할 수 있습니다.

<?php
    $date = "2019-11-11 05:25 PM";
    echo "원본 날짜 표시...\n";
    echo "Date = $date";
    echo "\n변경된 날짜 표시...\n";
    echo date('Y-m-d H:i', strtotime($date. ' + 20 days'));
?>

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

원본 날짜 표시...
Date = 2019-11-11 05:25 PM
변경된 날짜 표시...
 2019-12-01 17:25

출력 결과를 보면 오후 5시 25분이 24시간제인 17:25로 변환되었고, 20일이 추가되어 11월 11일에서 12월 1일로 변경된 것을 확인할 수 있습니다. 여기서 사용된 형식 문자의 의미는 다음과 같습니다.

  • Y: 4자리 연도 (예: 2019)
  • m: 0이 채워진 2자리 월 (01~12)
  • d: 0이 채워진 2자리 일 (01~31)
  • H: 24시간제 시간 (00~23)
  • i: 분 (00~59)

예제 2: date_create()와 date_format() 함수 활용하기

객체 지향 방식으로 날짜를 다루고 싶다면 date_create() 함수로 DateTime 객체를 생성한 뒤, date_format() 함수를 사용해 원하는 형식으로 출력할 수 있습니다.

<?php
    $date = date_create("2019-11-11");
    echo "날짜 표시...\n";
    echo date_format($date,"Y/m/d H:i:s");
?>

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

날짜 표시...
2019/11/11 00:00:00

입력된 날짜에 시간 정보가 없기 때문에 시간은 기본값인 00:00:00으로 표시됩니다. 이 방식은 DateTime 클래스 기반으로 동작하므로 날짜 수정(add, modify 등)이나 시간대(timezone) 처리와 같은 고급 기능으로 확장하기에도 유리합니다.

마무리

간단한 형식 변환에는 strtotime()date() 조합이 편리하고, 더 복잡한 날짜 연산이나 객체 지향적 처리가 필요하다면 DateTime 클래스와 date_format()을 사용하는 것이 좋습니다. 상황에 맞는 함수를 선택해 날짜 처리 로직을 깔끔하게 구성해 보세요.