シェルスクリプトから先月の日付を取得します。

シェルスクリプトから先月の日付を取得します。

処理日に基づいて先月の終了日を取得する方法は?

例:

  • 処理日= 2015年1月15日
  • 推定日= 2014年12月31日

  • 処理日= 2015年2月10日
  • 予想日= 2015年1月31日

ベストアンサー1

GNUの使用date:

$ date +%d%b%Y
16Aug2015
$ date -d "$(date +%Y-%m-01) -1 day" +%d%b%Y
31Jul2015

一部のシェルには日付操作のサポートが組み込まれています。

そしてksh93

$ printf "%(%d%b%Y)T\n" "1st day, yesterday"
31Jul2015

そしてzsh

$ zmodload zsh/datetime
$ strftime -s d %Y-%m-01-12 $EPOCHSECONDS
$ strftime -rs d %Y-%m-%d-%H $d
$ strftime %d%b%Y $((d-86400))
31Jul2015

おすすめ記事