AIX上不带date-d的时间戳比较

我在AIX 7上有一个运行数据库查询的bash脚本,我得到的输出是以下格式的时间戳:201607130319

现在我想将时间戳与当前时间(date+%Y%m%d%H%M – 201607201802)进行比较,并以分钟为单位查看差异。 我基本上需要知道差异是否超过10分钟。

我知道我可以使用date -d在Linux上执行此操作,但在AIX上不可用。 我不能在服务器上安装任何东西,所以我的select是什么?

Perl可能已安装,所以你可以做

timestamp=$( some process ) # timestamp=201607130319 perl -se ' use Time::Local; if ($ts =~ /^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)$/) { $time = timelocal(0,$5,$4,$3,$2-1,$1-1900); $now = time; if (abs( $time - $now ) > 600) { print "more than 10 minutes\n"; } } ' -- -ts="$timestamp"