Linux/シェルスクリプト/日時操作

Linux/シェルスクリプト/日時操作

別にシェルスクリプトでもなんでもなく単なる基本コマンド操作である。

現在時刻を得る

単に欲しいだけなら引数無しのdateコマンドを使えばよい

date

フォーマット指定で欲しい

例えば

2011-06-14

みたいな形で欲しいのならばプラス「+」のオプションを使って

date '+%Y-%m-%d'

と書く

明日の日付が欲しい

一日後の日付が欲しい場合は「d」オプションを使って指定する。「進みたい日数 days」で得られる

date -d '1 days' '+%Y-%m-%d'

ちなみにdayでもdaysでも通る。

特定の日付を起点にした日付のリストが欲しい

このようにする。

seq 0 30 |xargs -I{} date --date "20190301 {} days" "+%Y-%m-%d(%a)"

これなら 2019年03月01日を起点とした1ヶ月分の日付のリストが手に入る。

※ Mac版の date ではコレは使えない。

↓Mac版

seq 0 30|xargs -I{} date -j -v+{}d -f "%Y-%m-%d" "2019-03-01" +"%Y-%m-%d(%a)"

昨日の日付が欲しい

一日前の日付が欲しい場合も「d」オプションを使って指定する。「戻りたい日数 days ago」で得られる。agoがポイント

date -d '1 days ago' '+%Y-%m-%d'
linux/shell_script/datetime_ope.txt · 最終更新: 2019-03-08 12:42 by ore