web-dev-qa-db-ja.com

日付なしのAIXでのタイムスタンプの比較-d

データベースクエリを実行するAIX7上のbashスクリプトがあり、取得する出力は次の形式のタイムスタンプです:201607130319

次に、タイムスタンプを現在の時刻(date +%Y%m%d%H%M --201607201802)と比較し、分単位の違いを確認します。基本的に、差が10分以上かどうかを知る必要があります。

Linuxでdate -dを使用してこれを実行できることはわかっていますが、AIXでは使用できません。サーバーに何もインストールすることも許可されていないので、ここでのオプションは何ですか?

1
Debianuser

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"
3
glenn jackman