오프셋을 시간대 이름으로 변환하는 데 이상한 문제가 있습니다.
오프셋을 시간대로 변환하는 데 다음 코드를 사용합니다.timezone_name_from_abbr이 잘못된 결과를 가져 오는 이유는 무엇입니까?
$timezoneOffset = "+05:30";
echo $timezone_name = timezone_name_from_abbr("",$timezoneOffset*3600,0);
출력 : 아시아/카라치
예상 출력 : 내가
$timezone = 'Asia/Kolkata'; $time = new \DateTime('now', new DateTimeZone($timezone)); $timezoneOffset = $time->format('P'); //output: +05:30 $timezone_name = timezone_name_from_abbr("",$timezoneOffset*3600,0); echo $timezone_name;exit;
여전히 출력이
이다 사용 아시아/콜카타Asia/Karachi
오프셋 확인하려면
그래서 문제가 무엇입니까? 이 문제를 해결하려면 어떻게해야합니까?
미리 감사드립니다.
이 의미를 이해했는지 확인하십시오. 같은 오프셋을 공유하는 다른 시간대가 많이 있으며, 일부는 동일한 약어를 공유합니다. 'timezone_name_from_abbr'은 가능한 모든 결과의 * 첫 번째 일치 *를 반환합니다. [timezone tag wiki] (http://stackoverflow.com/tags/timezone/info)의 "Time Zone! = Offset"도 참조하십시오. –