将时区标识符转换为名称?(亚洲/加尔各答到印度标准时间)

Mun*_*nim 1 php timezone

我正在开发一个php(codeigniter)项目.我在时区做了很多工作来转换不同时区和服务器时区之间的时间.

我知道如何将php时区标识符转换为其缩写(如Asia/Calcutta到IST).但现在,我需要扩展这个缩写(印度标准时间).

有没有办法在PHP代码或任何web服务转换它?这是我完全掌握时区编程的最后一步!:)

编辑:正如一位回答指出的人所说,缩写可能含糊不清..但时区标识符不是.那么我可以直接将"亚洲/加尔各答"转换为"印度标准时间"吗?这没有任何含糊之处..

Art*_*cto 5

你是通用的,你不能这样做,因为它不明确 - 相同的缩写用于不同的时区.

例:

  • CDT:中部夏令时(美国/坎昆,美国/芝加哥......)
  • CDT:墨西哥中部夏令时(美国)
  • CDT:古巴中部夏令时(美国)
  • CDT:加拿大中部夏令时(美国)

即使IST也不是唯一的:

  • IST:爱尔兰夏令时(欧洲)
  • IST:印度标准时间(亚洲)
  • IST:以色列标准时间(不是zic)

然而,有几种启发式方法.例如,PostgreSQL附带了几个时区集,您可以根据目标受众的大陆进行交换.