我想在AIX中将特定日期转换为时间戳。以下命令以GNU / LINUX风格运行。 有人可以帮我在AIX中完成它吗?
在GNU / LINUX上运行的命令:
命令-> date -d"Nov 14 02:31" "+%s"
输出-> 1542162660
答案 0 :(得分:1)
如果您拥有POSIX::strptime
,则可以对Perl进行类似的操作
示例程序(totimestamp.pl):
#!/usr/bin/perl
use strict;
use POSIX ("tzset", "mktime");
use POSIX::strptime;
POSIX::tzset ();
my $ARGC= scalar (@ARGV);
my $tstamp;
if ($ARGC < 1) {
$tstamp= time ();
} else {
my $tstr= $ARGV[0];
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst);
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) =
POSIX::strptime($tstr, "%b %d %H:%M:%S %Y");
$tstamp= POSIX::mktime ($sec, $min, $hour, $mday, $mon, $year);
}
printf ("%d\n", $tstamp);
用法:
perl ./totimestamp.pl "Nov 16 14:40:00 2018"
1542375600