日付コマンドの入力形式で日付を使用する方法はありますか?

日付コマンドの入力形式で日付を使用する方法はありますか?

コマンドの使用

$ date +%j

今年の日付(001-366)を出力しますが、入力形式で今年の日付を使用する必要があります。

$ date --date='066 day'  +%F

2021-03-07これが私が2021年に出ると予想する結果です。代わりに私はそれを得た2021-05-13。何が起こっているのか、そして私が望むものを得る方法があるのか​​知っている人はいますかdate

ベストアンサー1

GNUを使用して1年の66日目を取得しますdate

$ date --date='jan 1 + 65 days' +%F
2021-03-07

または

$ date --date='dec 31 last year + 66 days' +%F
2021-03-07

date --date='066 day' +%F今日から66日後の日付を取得します。 3月8日は、偶然にも5月13日です。


上記ではGNUを使用しましたdate。 OpenBSDでは(あなたが要求したものではなく)、次のようにすることができます:

$ date -u -r "$(( $(date -ju -f %m%d 0101 +%s) + 65*86400 ))" +%F
2021-03-07

dateこれは、1月1日から時間が追加されるという点で、上記の最初のGNUコマンドと多少似ています。

おすすめ記事