2015年7月14日を2015年8月14日に変換する方法 [重複]

2015年7月14日を2015年8月14日に変換する方法 [重複]

14/Jul/2015にどのように変換できますか14-08-2015

invalid date format要素のせいと言うのに入れておくとJulうまく07動作します。

私はこれを試しました:

echo "Please enter the date: "
read X (here X is 14/Jul/2015)
a= date --date=$X '+%d-%b-%y'
echo "$a"

答え1

$x含まれている場合は、14/Jul/2015以下を使用してください。

date -d "${x//\//-}" '+%d-%m-%Y'

次のように印刷されます。

14-07-2015

ユーティリティdateはスラッシュで区切られた文字列を認識しないため、その文字列を削除して-ダッシュ()に置き換える必要があります。

答え2

問題はでJulはありません/ので、パラメータ置換メカニズムを使用して削除してください。

echo "Please enter the date: "
read X
a=$(date --date="${X//\//-}" '+%d-%b-%y')
echo "$a"

変数の割り当ても間違っており(後にスペースを使用できません=)、コマンド置換を角かっこで囲む必要があります$()

関連情報