コマンドラインで2019-08-15日付形式を2019年8月15日に変換するには?

コマンドラインで2019-08-15日付形式を2019年8月15日に変換するには?

bash値を持つ変数が与えられたら、2019-08-15その日付を形式に変換するユーティリティがありますかAugust 15, 2019

ベストアンサー1

LinuxまたはGNUを使用するすべてのシステムdate:

$ thedate=2019-08-15
$ date -d "$thedate" +'%B %e, %Y'
August 15, 2019

macOS、OpenBSD、FreeBSDではdateデフォルトでGNUを使用できません。

$ thedate=2019-08-15
$ date -j -f '%Y-%m-%d' "$thedate" +'%B %e, %Y'
August 15, 2019

この-jオプションは、システム時計の設定を無効にし、-f入力日の書式を記述する書式文字列を使用します。strptime(3)書式文字列は、変数値に使用される書式を記述します。次に、変数の値と出力する形式(次のようにする必要があります)strftime(3)フォーマット文字列)。

-f input_fmtNetBSDユーザーは上記のようなものを使用できますが、実装では以下を使用するため、dateオプションはありません。parsedate(3)。また、-d入力日付文字列を指定するオプションに注意してください。

$ thedate=2019-08-15
$ date -j -d "$thedate" +'%B %e, %Y'
August 15, 2019

dateまた、システムのマニュアルを参照してください。

おすすめ記事