개요
PHP의 date_create() 함수는 지정된 날짜와 시간 정보를 바탕으로 새로운 DateTime 객체를 생성하여 반환하는 함수입니다. DateTime 클래스의 인스턴스를 손쉽게 만들 수 있으며, 이후 date_format() 같은 함수와 함께 활용하면 원하는 형식으로 날짜와 시간을 자유롭게 출력할 수 있습니다.
구문
date_create(time,timezone);
매개변수
time – 생성할 날짜/시간을 나타내는 문자열입니다. 생략하거나 "now"를 지정하면 현재 시간이 적용됩니다.
timezone – 해당 시간에 적용할 시간대(Timezone)입니다. 일반적으로 timezone_open() 함수로 생성한 DateTimeZone 객체를 전달합니다.
반환값
date_create() 함수는 성공 시 새로운 DateTime 객체를 반환하며, 실패 시 FALSE를 반환합니다.
예제
다음은 특정 날짜와 시간대를 지정해 DateTime 객체를 만들고, date_format()으로 형식화하여 출력하는 예제입니다.
<?php
$date = date_create("2018-07-25 21:15:00",timezone_open("Europe/Oslo"));
echo date_format($date,"Y/m/d H:iP");
?>
출력 결과
2018/07/25 21:15+02:00
결과 해설
위 예제에서는 2018년 7월 25일 21시 15분이라는 날짜/시간 문자열과 함께 Europe/Oslo(노르웨이 오슬로) 시간대를 지정했습니다. 출력 끝부분의 +02:00은 오슬로에 적용된 UTC 오프셋으로, 여름철 서머타임(CEST)이 반영된 값입니다. 형식 지정자 Y/m/d H:iP는 '연도/월/일 시:분+시간대 오프셋' 순서로 결과를 표시합니다. 이처럼 date_create()와 date_format()을 조합하면 시간대가 적용된 날짜 데이터를 손쉽게 처리할 수 있습니다.