日付のテキスト処理
2012/12/23 奈佐原顕郎
日付のテキスト処理(変換)はめんどくさい。Unixシェルではdateコマンドを使いこなそう!
年/月/日(yyyy/mm/dd)をJulian day (DOY)に変換:
$ date -d "2010/02/03" '+%j' $ date -d 2010/02/03 +%j (↑どちらでもよい) 34
Julian day (DOY)を年/月/日(yyyy/mm/dd)に変換(上の逆):
$ date -d "2010/01/01 1day ago 34days" '+%Y/%m/%d' 2010/02/03
ここで1day agoとしているのは, 01/01から「何日後」でDOYを表現すると, 1日分, ずれてしまうのを補正するためである。DOYは34daysの34に該当する。
Keyword(s):
References:[とらりもんHOME]