HTML5의 날짜·시간 입력 필드에는 YYYY-MM-DDTHH:MM:SS 형식(ISO 8601)의 값이 들어가야 합니다. PHP에서는 date() 함수 하나만으로 이 형식을 손쉽게 생성할 수 있습니다.
예제: 현재 시간 출력하기
echo date("Y-m-d\TH:i:s");출력 결과
2018-03-28T19:12:49
형식 문자열에 사용된 각 기호의 의미는 다음과 같습니다.
- Y — 4자리 연도 (예: 2018)
- m — 2자리 월 (01~12)
- d — 2자리 일 (01~31)
- H — 24시간제 시간 (00~23)
- i — 분 (00~59)
- s — 초 (00~59)
날짜와 시간 사이의 대문자 T는 ISO 8601 표준에서 정한 구분 기호이므로 그대로 출력해야 합니다.
HTML 입력 필드에 적용하기
타임스탬프 변수($timestamp)를 활용하면 입력 필드의 기본값으로 지정할 수 있습니다.
<input type="datetime-local" value="<?php echo date("Y-m-d\TH:i:s", $timestamp); ?>"/>참고 사항
HTML5 표준에서 type="datetime"은 이미 폐기(deprecated)되어 대부분의 브라우저에서 지원하지 않습니다. 실무에서는 시간대 정보를 포함하지 않는 type="datetime-local"을 사용하는 것이 안전하며, 시간대 처리가 필요하다면 서버 측에서 별도로 관리하는 것이 좋습니다.