変数のフォーム日付

変数のフォーム日付

以下のように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 dateinfo 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)

関連情報