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

MySQL datetime 필드에서 날짜만 추출해 PHP 변수에 담는 방법

DateTime 클래스를 활용한 날짜 추출

MySQL의 datetime 필드에서 시간 정보를 제외하고 날짜만 추출하려면 PHP에서 제공하는 DateTime 클래스를 사용하는 것이 가장 안전하고 권장되는 방법입니다. 기본 문법은 다음과 같습니다.

DateTime::createFromFormat("Y-m-d H:i:s", yourDateTimeValue)->format("yourFormatSpecifier");

문법 구성 요소

  • createFromFormat(): 지정한 형식에 맞춰 날짜·시간 문자열을 해석하여 DateTime 객체를 생성합니다.
  • "Y-m-d H:i:s": MySQL datetime 값의 표준 형식(예: 2018-02-13 13:10:15)을 나타냅니다.
  • format(): DateTime 객체를 원하는 출력 형식으로 변환합니다.

PHP 코드 예제

위 문법을 실제 PHP 코드에 적용하면 다음과 같이 작성할 수 있습니다.

$MySQLDataBaseDateTime = "2018-02-13 13:10:15";
echo DateTime::createFromFormat("Y-m-d H:i:s", $MySQLDataBaseDateTime)->format("d/m/Y");

실행 결과

13/02/2018

datetime 값 "2018-02-13 13:10:15"에서 시간 부분(13:10:15)은 제거되고, format()에 지정한 형식(d/m/Y)에 따라 "13/02/2018"만 출력됩니다. 이렇게 얻은 값을 그대로 PHP 변수에 할당하여 이후 로직에서 활용할 수 있습니다.

참고: 상황별 대안 방법

  • SQL 단계에서 처리: 쿼리에서 SELECT DATE(datetime_column)처럼 MySQL의 DATE() 함수를 사용하면 애초에 날짜만 조회할 수 있어 불필요한 데이터 전송을 줄일 수 있습니다.
  • strtotime() 활용: date("d/m/Y", strtotime($MySQLDataBaseDateTime)) 형태로도 동일한 결과를 얻을 수 있습니다. 다만 타임존 처리나 오류 검증 측면에서는 DateTime 클래스가 더 견고합니다.