我使用下面的代码打印当前时间。
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()
中提取时区?
4条答案
按热度按时间qgzx9mmu1#
可以使用
strftime()
:或者,计算
localtime()
和gmtime()
之间的差。mf98qq942#
您可以有时区以及UTC的偏移量:
jqjz2hbq3#
这里是纯Perl方法来计算当前时区,而不使用外部模块:
pwuypxnk4#
来自POSIX模块的
tzset()
和tzname()
函数可以是一个容易记住的答案。