使用POSIX(Perl)获取时区缩写

时间:2012-01-26 18:00:54

标签: perl cgi

我想知道是否可以通过简单地使用POSIX获得时区缩写(例如:EST,CST,PST)?我可以使用带有以下代码的POSIX来获取完整的时区名称(例如:太平洋标准时间):

use POSIX;
print strftime("%Z", localtime()), "\n";

我知道有可用于日期/时间操作的模块,但由于我只需要获得时区缩写,我想避免使用大模块。

1 个答案:

答案 0 :(得分:3)

时区数据库不是POSIX(或任何其他Unix)标准的一部分。要正确处理时区,您需要一个时区数据库,例如Olson database

在Perl中,您可以使用DateTime模块与DateTime::TimeZone模块一起使用,可以访问该数据库。同样,使用此类数据库是正确处理时区的唯一方式。