Landscape トップページ | < 前の日 2003-10-28 2003-10-29 次の日 2003-10-30 >

Landscape - エンジニアのメモ 2003-10-29

date コマンドって超便利


* date コマンドって超便利

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux]

date --date で書式を指定すれば、自由自在に日付計算ができる。一か月前とか18年前とか5日後とかの日付や曜日を簡単に求められる。また、+%Y などの出力書式文字列と同時に使うこともできるので、日付と時刻を好きな形式で整形して文字列として出力できる。

JM 読んでたらしっかり書いてあった。
date date.1 in GNU_sh-utils
http://www.linux.or.jp/JM/html/GNU_sh-utils/man1/date.1.html

perl の Date::Calc モジュールも調べてみたんだけど、
一行プログラムを書くときは date コマンドの方が使いやすそう。

- YYYY-mm-dd や YYYYmmdd 文字列を得る

%F で YYYY-mm-dd 文字列を得ることができる。数字が一桁の場合はゼロ詰めされる。%Y-%m-%d と書いても同じ。
%F  same as %Y-%m-%d

$ date +%F
2004-06-24

ハイフン - を入れない YYYYmmdd 文字列がほしいなら、%Y%m%d と書けばよい。
$ date +%Y%m%d
20040624

- HH:MM:SS 文字列を得る

時分秒がほしいなら、%T を使う。数字が一桁の場合はゼロ詰めされる。コロンを入れたくないなら、%H%M%S と書けばよい。
$ date +%T
10:50:02

$ date +%H%M%S
105007

- apache のログを grep するために、一か月前の月名と西暦を得る

$ date --date '1 month ago' +%b/%Y:
Sep/2003:
ちなみに apache のログはこんな感じ。
10.3.31.91 - - [29/Oct/2003:09:40:53 +0900] "POST /cgi-bin/hiroaki/bad.cgi/read HTTP/1.1" 500 615

- 10日後

$ date --date '10day' +%Y%m%d
20031108

- 「・・・15年ぶりだね」

$ date --date '15 year ago'
Wed Sep 13 15:48:42 JST 2000

注意。上記の例は結果を2000年9月13日にしたいがために、事前に以下のコマンドを実行してシステムクロックを変更してあります。
# date --set 2015-09-13

- ago の位置で結果が変わる

ago より前の指定を現在から引き算しているようだ。複雑なのであんまり深追いしたくないな。
$ date --date '4year ago 2month 5day 2hour 8minute 58second'
Mon Jan  3 18:03:24 JST 2000

$ date --date '4year 2month ago 5day 2hour 8minute 58second'
Fri Sep  3 18:03:31 JST 1999


すべての記事の見出し (全1029件)
全カテゴリの一覧と記事の数
カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。

直近30日分の記事
2007-04-23 (Mon)
2007-03-07 (Wed)
2007-02-27 (Tue)
2007-01-17 (Wed)
2007-01-15 (Mon)
2007-01-14 (Sun)
2007-01-08 (Mon)
2006-12-01 (Fri)
2006-11-22 (Wed)
2006-11-20 (Mon)
2006-11-19 (Sun)
2006-09-30 (Sat)
2006-08-29 (Tue)
2006-08-04 (Fri)
2006-07-27 (Thu)
2006-07-23 (Sun)
2006-07-17 (Mon)
2006-07-10 (Mon)
2006-07-06 (Thu)
2006-07-03 (Mon)
2006-06-29 (Thu)
2006-06-28 (Wed)
2006-06-27 (Tue)
2006-06-25 (Sun)
2006-06-19 (Mon)
2006-06-18 (Sun)
2006-06-15 (Thu)
2006-06-11 (Sun)
2006-06-01 (Thu)
2006-05-30 (Tue)
プロファイル
斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
リンク
RSS
スポンサードリンク
Powered by
さくらインターネット

© 斎藤 宏明 Saito Hiroaki Gmail Address
Landscape - エンジニアのメモ http://sonic64.com/
Landscape はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。