bool date_default_timezone_set ( string $timezone_identifier )
(PHP 5 >= 5.1.0)

date_default_timezone_set 함수로 국가별 시간을 구할 수 있습니다.

<?php
 // 결과 2013/02/19 16:16:33
 echo gmdate("Y/m/d H:i:s", date_timezone_set("US/Samoa"));

 function date_timezone_db($country)
 {
    $fp = is_file('./timezone.db.txt');
    clearstatcache();
    
    if($fp)
    {
        $resource = 
          explode("\n", file_get_contents("./timezone.db.txt"));
        foreach($resource as $v)
        {
            $timezone = explode(" ", $v);
            if($timezone[0] == $country)
            {
                return $timezone[1];
            }
        }
        return false;
    }
    else
    {
        return false;
    }
 }

 function date_timezone_set($country)
 { 

     // php 5.1 이상이라면....
    if(function_exists("date_default_timezone_set") &&
      function_exists("date_default_timezone_get")){
        date_default_timezone_set($country);
        $timezone = array();
        $timezone = explode(" ", date("Y m d H i s"));
        return gmmktime(
          $timezone[3], $timezone[4], $timezone[5],
          $timezone[1], $timezone[2], $timezone[0]
        );
    }
    else
    { 

        // php 5.1 이하라면....
        $timezone = date_timezone_db($country);
        if($timezone !== false)
        {
            return (time() + 3600*$timezone);
        }
        else
        {
            return false;
        }
    }
 }
 ?>

0 댓글