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

PHP timezone_open() 함수 사용법과 예제 총정리

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()으로 동일한 기능을 수행할 수 있습니다. 두 방식은 기능적으로 완전히 동일하므로, 프로젝트의 코딩 스타일에 맞춰 선택하여 사용하면 됩니다.