我曾经假设它会如此简单$ENV{TZ}
,但TZ
环境变量没有设置,但date
命令仍然知道我在EDT中,所以必须有其他方法来确定时区(除了说chomp(my $tz = qx/date +%Z/);
).
Igo*_*kon 15
use POSIX;
print strftime("%Z", localtime()), "\n";
Run Code Online (Sandbox Code Playgroud)
如果你想要比POSIX
(但可能更慢)更便携的东西你可以使用DateTime :: TimeZone:
use DateTime::TimeZone;
print DateTime::TimeZone->new( name => 'local' )->name();
Run Code Online (Sandbox Code Playgroud)
use POSIX;
localtime();
my ($std, $dst) = POSIX::tzname();
Run Code Online (Sandbox Code Playgroud)
tzname()
允许您访问POSIX全局tzname
- 但您需要首先调用localtime()
它.
归档时间: |
|
查看次数: |
7738 次 |
最近记录: |