在Perl中将不同时区的时间转换为本地时间?

时间:2015-08-15 18:06:57

标签: perl

Perl内置函数localtime可以将指定的日期时间值转换为本地时间,但它不接受时区号。对不同时区进行此转换的最简单方法是什么?导入其他模块看起来有点复杂,特别是对于单线程。

2 个答案:

答案 0 :(得分:1)

Time::Piece将尊重TZ环境变量。

2015-08-17 09:46:53 BST
2015-08-17 08:46:53 UTC
2015-08-17 10:46:53 CEST
2015-08-17 04:46:53 EDT

输出(在伦敦运行时):

GetCryptoAlgorithm

答案 1 :(得分:0)

Localtime()函数使用本地系统时区。您可以在使用TZ环境变量执行程序之前指定时区。

这是一个名为time.pl的perl脚本

#!/usr/bin/perl -w

my $time = localtime;
print $time;

使用和不使用TZ执行它的输出正在跟随..

./time.pl 
Sun Aug 16 00:12:33 2015 

TZ=GST ./time.pl 
Sat Aug 15 18:42:36 2015