Solarisに追加された時間と分

Solarisに追加された時間と分

私はサーバーで作業していますが、solarisそのdate -dオプションはありません。gdateいいえ。

私がLinuxで働いたことは次のとおりです。

date -d "$hr:$mi $duration minutes" +'%H%M'

どこ$hr$mi時間と分、$duration分単位です。

Linuxでこれを実行すると、次のような結果が得られます。

date -d "23:28 60 minutes" +'%H%M'
0028

私がそれを実行すると、次のようなsolaris結果が得られます。

date: illegal option -- d Usage: date [-u] ...

awk年齢はかなり多く、ここに解決策はありますかperl

また引用して、私も同じ問題があったここ、私はそれを使用する贅沢がありませんdate -d。ライナーpythonが必要ですperl

ベストアンサー1

少し難しいです。 ":" の周りに分割すると awk 関数があります: split(what,where,sep)

私はSolarisでそれを試しました(一行の命令です)

echo 23:28 60 |
 awk '{split($1,H,":") ; printf "%2d:%02d\n",H[1]+(H[2]+$2)/60, (H[2]+$2)%60 }'

どこ

  • Split($1,H,":") は H[1] に 23 を、H[2] に 28 を入れます。

使用

echo 23:28 60 |
 awk '{split($1,H,":") ; printf "%2d:%02d\n",(H[1]+(H[2]+$2)/60)%24, (H[2]+$2)%60 }'

1時間は0〜23の範囲にとどまります。 printfの形式文字列を"%02d:%02d\n"先行文字に変更します。0

おすすめ記事