「yyyymmdd」という形式の文字列があります。これはbashの文字列であり、他のすべての日付関数を使用できるように、日付に変換したいと思います。
「20121212」の文字列を「20121212」の日付に「%Y%m%d」の形式で入力します。
これは私のために働いた:
date -d '20121212 7 days'
date -d '12-DEC-2012 7 days'
date -d '2012-12-12 7 days'
date -d '2012-12-12 4:10:10PM 7 days'
date -d '2012-12-12 16:10:55 7 days'
次に、パラメータ'+%Y%m%d'を追加して出力をフォーマットできます。
date-dオプションを使用できます
1)形式を「%Y-%m-%d」形式に変更します。つまり、20121212から2012-12-12に変更します。
date -d '20121212' +'%Y-%m-%d'
2)指定された日付=20121212から翌日または最終日を取得します。特定の形式で7日前の日付を取得するように
date -d '20121212 -7 days' +'%Y-%m-%d'
3)ある変数で日付を取得している場合は、datと言います
dat2=$(date -d "$dat -1 days" +'%Y%m%d')
dateはGNUdateでのみ機能します(通常はLinuxに付属しています)
OS Xの場合、2つの選択肢があります。
変更コマンド(確認済み)
#!/bin/sh #DATE=20090801204150 #date -jf "%Y%m%d%H%M%S" $DATE "+date \"%A,%_d %B %Y %H:%M:%S\"" date "Saturday, 1 August 2009 20:41:50"
http://www.unix.com/shell-programming-and-scripting/116310-date-conversion.html
CoreutilsからGNUユーティリティをダウンロードします-GNUコアユーティリティ(まだ検証されていません) http://www.unix.com/emergency-unix-and-linux-support/199565-convert-string-date-add-1-a.html
dateコマンドの-dオプションを使用するだけです。例:
date -d '20121212' +'%Y %m'