perl - 如何从 localtime() 中提取时区

标签 perl timezone localtime

我正在使用以下代码打印当前时间。

use Getopt::Long;
use Time::Local;
sub gettime
{
        my $t = time();
        my ($sec,$mn,$hr,$mday,$mon,$yr,@left, $dstr);

        ($sec,$mn,$hr,$mday,$mon,$yr,@left) = localtime($t);
        $yr  = $yr-100+2000;
        $mon += 1;
        $dstr = sprintf "%02d:%02d:%02d (%02d-%02d-%04d)", $hr, $mn, $sec, $mon,
 $mday, $yr;
        print $dstr;
}

gettime();

我可以使用 - 设置时区 local $ENV{TZ} = ":/usr/share/lib/zoneinfo/America/Los_Angeles";

如何从 localtime() 中提取时区?

最佳答案

你可以使用 strftime():

use POSIX;
$tz = strftime("%Z", localtime());

或者,计算 localtime()gmtime() 之间的差异。

关于perl - 如何从 localtime() 中提取时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8482042/

相关文章:

regex - 使用 Perl 从多行字符串中提取文本

perl - 如何一次在xt中运行测试?

perl - 为什么 Perl 中的默认范围行为是这样的?

java - 如何在 LocalTime 中设置必要的时区

perl - 如何使用 MIME::Lite perl 检查上次发送的电子邮件是否已成功发送

Delphi - 获取非本地时区的 TTimeZone 并在时区之间进行转换

Java,解析字符串 'yyyy-MM-dd' T'HH :mm:ss' to ZonedDateTime without changing time

azure - 如何在 MariaDB Azure 中配置时区?

c++ - 如何在 C++ 中将 localtime_s 与指针一起使用

perl - 如何从 Perl 中的随机纪元时间戳以纪元形式获得月份的开始?