我想知道是否可以通过简单地使用POSIX获得时区缩写(例如:EST,CST,PST)?我可以使用带有以下代码的POSIX来获取完整的时区名称(例如:太平洋标准时间):
use POSIX;
print strftime("%Z", localtime()), "\n";
我知道有可用于日期/时间操作的模块,但由于我只需要获得时区缩写,我想避免使用大模块。
答案 0 :(得分:3)
时区数据库不是POSIX(或任何其他Unix)标准的一部分。要正确处理时区,您需要一个时区数据库,例如Olson database。
在Perl中,您可以使用DateTime模块与DateTime::TimeZone模块一起使用,可以访问该数据库。同样,使用此类数据库是正确处理时区的唯一方式。