ksh - 現在時刻から5分を減算します。

ksh - 現在時刻から5分を減算します。

コマンドの日付と時刻から5分を引いた値を取得する必要がありますdate

date:
29 Aug 2018 21:56:01

result:
29 Aug 2018 21:51:02

インターネット/フォーラムで検索しようとしましたが、ほとんどの場合、その-dオプションの使用に関連しており、私がサポートしていないオプションもあります-d

これはBashで動作しますが、kshで動作する必要があります。

$ printf "%(%d %h %Y %H:%M:%S)T\n" $(( $(printf "%(%s)T") - 5 * 60 ))

ベストアンサー1

bash実際には%(...)Tksh93の形式をコピーしますが、一部だけをコピーします。

ksh93の機能ははるかに強力です。

$ date; printf '%(%c)T\n' 'exactly five minutes ago'
Mon  3 Sep 08:08:32 BST 2018
Mon Sep  3 08:03:32 2018

bashUnix epoch時間のみ(-1または、最新バージョンでは、次のものも入手できます。不足しているパラメータ)ksh93は複雑な相対関係(at上記の英語、crontab、ISO 8601:2004期間を含む)または絶対時間仕様をサポートしています(参照:テストデータいくつかの例のソースコードから)。

ksh93epoch時間を渡すには、prefixを使用してください#

$ printf '%(%c)T\n' '#0'
Thu Jan  1 00:00:00 1970

(ここでも、イギリスのタイムゾーンのエポック時間0が午前1時なので、間違った時間を提供することがあります。)

おすすめ記事