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

PHP에서 '11:00 AM'을 MySQL 시간 형식으로 변환하는 방법

PHP에서 DateTime 클래스를 활용하면 '11:00 AM'과 같은 12시간제 시간 문자열을 MySQL에서 사용하는 'HH:MM:SS' 형식으로 손쉽게 변환할 수 있습니다.

DateTime::createFromFormat()을 이용한 변환 방법

핵심은 DateTime::createFromFormat() 메서드입니다. 이 메서드는 지정한 입력 형식에 맞춰 문자열을 파싱하여 DateTime 객체를 생성합니다. 이후 format() 메서드로 원하는 출력 형식을 지정하면 됩니다.

PHP 코드 예제

$phpTime = '11:00 AM';
echo('PHP 시간 형식 = ');
echo($phpTime);

// 'H:i A' 형식(시:분 AM/PM)으로 문자열 파싱
$timeFormat = DateTime::createFromFormat('H:i A', $phpTime);

// MySQL 시간 형식(H:i:s)으로 변환
$MySQLTimeFormat = $timeFormat->format('H:i:s');

echo('
'); echo('MySQL 시간 형식 = '); echo($MySQLTimeFormat);

실행 결과

PHP 시간 형식 = 11:00 AM
MySQL 시간 형식 = 11:00:00

코드 설명

  • 'H:i A': 입력 문자열의 형식을 나타냅니다. H는 24시간제 시간, i는 분, A는 오전/오후(AM/PM) 표시를 의미합니다.
  • 'H:i:s': MySQL TIME 컬럼에 저장되는 표준 형식으로, 시:분:초를 의미합니다.

이처럼 DateTime 클래스를 사용하면 별도의 문자열 조작 없이 안정적으로 시간 형식을 변환할 수 있으며, 오후 시간대(예: '03:30 PM' → '15:30:00')도 자동으로 정확하게 처리됩니다.