我有一个格式时间,2013-04-29 08:17:58
我需要将其转换为秒。
在 UNIX 中,我们可以使用date +%s
. 无论如何在Solaris中可以做到这一点?
我有一个格式时间,2013-04-29 08:17:58
我需要将其转换为秒。
在 UNIX 中,我们可以使用date +%s
. 无论如何在Solaris中可以做到这一点?
使用Time::Piece
. 自 9.5 版以来,它一直是标准 Perl 5 发行版的一部分,不需要安装。
use strict;
use warnings;
use 5.010;
use Time::Piece;
my $t = '2013-04-29 08:17:58';
$t = Time::Piece->strptime($t, '%Y-%m-%d %H:%M:%S');
say $t->epoch;
输出
1367223478
稍加努力,您就可以用过时的 Perl 版本做到这一点。
#!/usr/bin/perl
use strict;
use warnings;
use Time::Local;
my $str = '2013-04-29 08:17:58';
my @dt = split /[- :]/, $str;
$dt[0] -= 1900;
$dt[1] -= 1;
print timelocal reverse @dt;
自从 Perl 5 的第一个版本(1994 年)以来, Time::Local就已经包含在 Perl 中了。
但是请尽你所能来更新你的古老版本的 Perl。
更新:对此有一些反对意见。但没有人费心解释原因。