値が2019-08-15
のbash
変数がある場合、その日付をAugust 15, 2019
の形式に変換できるユーティリティはありますか?
Linux、またはGNU date
を使用するすべてのシステム:
_$ thedate=2019-08-15
$ date -d "$thedate" +'%B %e, %Y'
August 15, 2019
_
MacOS、OpenBSD、FreeBSDでは、GNU date
はデフォルトでは使用できません:
_$ thedate=2019-08-15
$ date -j -f '%Y-%m-%d' "$thedate" +'%B %e, %Y'
August 15, 2019
_
_-j
_オプションはシステムクロックの設定を無効にし、_-f
_で使用される形式文字列は入力日付形式を記述します( strptime(3)
変数の値で使用される形式)。次に、変数の値と、出力を含める形式( strftime(3)
形式文字列にする必要があります)に従います。
date
実装は parsedate(3)
を使用するため、NetBSDユーザーは上記と似たものを使用できますが、_-f input_fmt
_オプションなしで使用できます。入力日付文字列を指定する_-d
_オプションにも注意してください。
_$ thedate=2019-08-15
$ date -j -d "$thedate" +'%B %e, %Y'
August 15, 2019
_
システムのdate
のマニュアルも参照してください。
GNU date
にアクセスできると仮定すると、
$ date --date="2019-08-15" "+%B %d, %Y"
August 15, 2019
date(man date
)のマンページを確認してください。