在perl中将localtime转换为utc时间

时间:2014-08-18 10:03:25

标签: perl datetime

我计算的时间是当前时间前10分钟。我需要使用perl脚本将其转换为UTC时间。请帮忙。 我使用过这段代码: -

my $dt = time();
$dt = $dt - 10 * 60;   # 10 minutes before of current date.

我想要这种格式的时间: -

2014-08-14T05:52:16

2 个答案:

答案 0 :(得分:3)

您应该考虑使用通过POSIX模块提供的strftime。参见:

perldoc POSIX

有关模块的信息,

man strftime

有关该功能的信息。你可以用它作为例如。

#!/usr/bin/perl -w

use strict;
use warnings;

use POSIX qw(strftime);

my $dt = time();
$dt -= 10 * 60;

print "Datetime: ", strftime('%Y-%m-%dT%H:%M:%S.', gmtime($dt)), "\n";

答案 1 :(得分:1)

Time::Piece为strftime提供了更高级别的界面。

#!/usr/bin/perl

use strict;
use warnings;
use 5.010;

use Time::Piece;

my $now = gmtime;
$now -= 10*60;
say $now->strftime('%Y-%m-%dT%H:%M:%S');