timezone_open() 함수는 새로운 DateTimeZone 객체를 생성하여 반환하는 PHP 내장 함수입니다. 특정 시간대 정보를 다루어야 할 때 유용하게 사용할 수 있습니다.
문법(Syntax)
timezone_open(timezone)
매개변수(Parameters)
timezone − 시간대 식별자를 지정합니다. 전체 이름 형식(예:
Europe/Prague) 또는 약어 형식(예:CET) 모두 사용할 수 있습니다.
반환값(Return)
성공하면 DateTimeZone 객체를 반환하고, 실패하면 FALSE를 반환합니다.
예제 1
다음은 timezone_open() 함수와 객체 지향 방식 두 가지를 함께 비교한 예제입니다.
<?php $dateSrc = '2017-06-25 1:50 GMT'; $dateTime = date_create( $dateSrc); // 절차적 방식으로 시간대 설정 $DateTimeZone = timezone_open ( 'Europe/Paris' ); date_timezone_set( $dateTime, $DateTimeZone ); $NewDateTimeZone = date_timezone_get($dateTime); echo 'New timeZone is '. timezone_name_get($NewDateTimeZone); echo "\n"; // 객체 지향 방식으로 시간대 설정 $dateTime = new DateTime($dateSrc); $DateTimeZone = new DateTimeZone( 'Europe/Paris' ); $dateTime->setTimezone( $DateTimeZone ); $NewDateTimeZone = $dateTime->getTimezone (); echo 'New timeZone is '. timezone_name_get ($NewDateTimeZone); ?>
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
New timeZone is Europe/Paris New timeZone is Europe/Paris
절차적 방식(timezone_open(), date_timezone_set())과 객체 지향 방식(new DateTimeZone(), setTimezone()) 모두 동일한 결과를 출력하는 것을 확인할 수 있습니다.
예제 2
이번에는 다른 시간대를 지정해 보겠습니다.
<?php
$res = timezone_open("America/Chicago");
echo timezone_name_get($res);
?>출력 결과
America/Chicago
정리
timezone_open() 함수는 절차적(procedural) 스타일에서 시간대 객체를 생성하는 방법이며, 객체 지향 스타일에서는 new DateTimeZone()으로 동일한 기능을 수행할 수 있습니다. 두 방식은 기능적으로 완전히 동일하므로, 프로젝트의 코딩 스타일에 맞춰 선택하여 사용하면 됩니다.