[Linux] shell で月末の日付を取得する

2023年2月1日

Mac (BSD系) と Linux (GNU系) ではオプションが異なります。ここでは Linux 向けのオプションを扱います。Mac 向けはこちら

日付フォーマット

フォーマット指定し、年(%Y)、月(%m)、日(%d)、時(%H)、分(%M)、秒(%S)で表すことができます。

date '+%Y%m%d'
20230201
date '+%Y-%m-%d'
2023-02-01
date '+%Y-%m-%d %H:%M:%S'
2023-02-01 01:05:45

日付の計算

日時を計算するには -d オプションで指定ができます。文章のように書くことが可能です。

date +'%Y-%m-%d' -d"1 day"
2023-02-02
date +'%Y-%m-%d' -d"1 day ago"
2023-01-31
date +'%Y-%m-%d' -d"1 month"
2023-03-01
date +'%Y-%m-%d' -d"1 year"
2024-02-01

月末の出し方

月末を出すには、1日の前日は月末となることを利用します。

date +'%Y-%m-%d' -d"1 month `date +'%Y-%m-01'` 1 days ago"
2023-02-28
date +'%Y-%m-%d' -d"2 month `date +'%Y-%m-01'` 1 days ago"
2023-03-31

LinuxLinux,Shell

Posted by kidatti