【发布时间】:2014-06-07 01:02:48
【问题描述】:
我有一个字符串,如“IST GMT+5:30”,我想将其转换为“亚洲/加尔各答”或任何印度时区。
我正在尝试的是
$userSubmittedTimezoneString='IST';
$userTimezone = new DateTimeZone($userSubmittedTimezoneString);
print_r($userTimezone);
当 $userSubmittedTimezoneString='IST' 时,输出如下:
DateTimeZone Object ( [timezone_type] => 3 [timezone] => Asia/Jerusalem )
'Asia/Jerusalem' 是 以色列时区,但我想要的是 印度标准时间。
请帮助我使用 php 实现这一目标。
编辑:
“IST GMT+5:30”是动态的。它来自数据库。
【问题讨论】:
-
我不知道是否有专门针对印度的独特解决方案,但总的来说这几乎是不可能的。可能有任意数量的具体时区映射到相同的 GMT 偏移量,即使有国家限制。
-
@deceze : 实际上 "IST GMT+5:30" 可以是任何与时区相似的东西,相似但不完全相同,这就是问题所在。
-
@ParagTyagi:答案在哪里?
-
所以基本没有解决办法。您不能将 GMT 偏移量唯一地转换为时区。也许只有像“IST”这样的短格式可以被转换。您可以获得哪些可能的输入?