以下のように2つの変数がありますが、日付全体を変更する必要があります。助けてもらえますか?よろしくお願いします。 ! ! !
end=2020-03(yyyy-mm)
win=28
次の変数で書式設定する必要があります。
start_timestamp = less 1 month from end + 1 day from win
end_timestamp= start_timestamp + 1 month – 1 days
結果:
start_timestamp = 2020-02-29
end_timestamp = 2020-03-28
注:kshを使用しています。
答え1
date
コマンドから相対時間を取得するにはこの--date
フラグが必要です(詳細についてはマニュアルを参照してください。man date
)info date
、あなたの場合は次のようになります。
end=2020-03
win=28
start_timestamp=$(date --date="${end}-${win} last month next day" +%Y-%m-%d)
end_timestamp=$(date --date="${start_timestamp} next month last day" +%Y-%m-%d)