将日期字符串转换为日期纪元 UNIX AIX

Convert date string to date epoch UNIX AIX

我正在使用 AIX 5.3 版本 OS 服务器,我必须部署我在 Linux (RedHat) 中所做的 shell,但我有一个很大的当我尝试操作一些时间戳时出现问题。

在Linux我使用:

`Start="Thu Mar 28 16:49:20 2019"` 
`date -d "$Start" +%s`

计算自 1970 年以来对应日期的秒数,但在 UNIX AIX 5.3 中我得到以下错误:

date: Not a recognized flag: d
Usage: date [-u] [+"Field Descriptors"]

我如何在 UNIX AIX 中执行此操作?我需要从特定日期计算自 1970 年以来的秒数(日期格式:Fri Nov 25 02:11:53 2011)

在 AIX 上使用 Perl 将日期转换为纪元:

#!/usr/bin/perl

# Usage: mkepoch yyyy mm dd HH MM SS

use Time::Local;
($yyyy, $mm, $dd, $HH, $MM, $SS)=@ARGV;
$tm=timelocal($SS, $MM, $HH, $dd, $mm - 1, $yyyy);
print "$tm\n";

用法:

chmod u+x ./mkepoch
Start="2019 03 28 16 49 20"
./mkepoch $Start

输出:

1553788160

来源:convert a specific date to unix timestamp