[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
date
の使用例用例をいくつか挙げてみる。前節の ‘-d’ オプションの説明も参照していただきたい。
date --date='2 days ago' |
date --date='3 months 1 day' |
date --date='25 Dec' +%j |
date '+%B %d' |
しかし、月の最初の 9 日間では、‘%d’ は空きを 0 で埋めた 2 桁のフィールドに展開されるので、この結果はご希望のものとは違うかもしれない。 たとえば、‘date -d 1may '+%B %d'’ の出力は、‘May 01’ になるのだ。
date -d 1may '+%B %-d' |
date
の多くでシステムクロックを設定するときに要求される書式で表示する。
date +%m%d%H%M%Y.%S |
date --set='+2 minutes' |
Fri, 09 Sep 2005 13:51:39 -0700 |
date --date='1970-01-01 00:02:00 +0000' +%s 120 |
日付を表す文字列でタイムゾーン情報を指定しない場合、date
は、コンピュータが認識しているタイムゾーンを使用して、その文字列を解釈する。
たとえば、使用しているコンピュータのタイムゾーンが、マサチューセッツ州のケンブリッジのものならば、
それは UTC より 5 時間遅れているので、次のようになる。
# 現在地のタイムゾーンを使用 date --date='1970-01-01 00:02:00' +%s 18120 |
date --date='2000-01-01 UTC' +%s 946684800 |
なお、上と同じ結果は、‘--utc’ (‘-u’) オプションを使っても得られ、 その場合は、日付を表す文字列で ‘UTC’ を省略することができる。 とは言え、‘--utc’ を使う方法は、‘%s’ を始め、多くの書式文字列では、 日付文字列で ‘UTC’ を使うのと同じ結果をもたらすものの、 協定世界時からの時差が 0 ではないタイムゾーンでは、 ‘%z’ のようなタイムゾーンによって値が変わってくる書式文字列に対しては、 異なる結果をもたらすことになるだろう。
date -u --date=2000-01-01 +%s 946684800 |
こうした秒数という扱いにくいデータをもっと読みやすい形に変換し直すには、 次のようなコマンドを使う。
# 現在地のタイムゾーンを使用 date -d '1970-01-01 UTC 946684800 seconds' +"%Y-%m-%d %T %z" 1999-12-31 19:00:00 -0500 |
coreutils 5.3.0 以来使用できるようになった ‘@’ という表記に頼っても構わないなら、上記のコマンドを短くすることができる (参照: Unix 紀元 (the Epoch) からの秒数)。
date -d @946684800 +"%F %T %z" 1999-12-31 19:00:00 -0500 |
UTC の日付や時刻を出力した方がよいことも多い。
date -u -d '1970-01-01 946684800 seconds' +"%Y-%m-%d %T %z" 2000-01-01 00:00:00 +0000 |
一般的なシステムと例外的なシステムの両者が、2012-06-30 23:59:60 UTC の閏秒をどのように処理しているかを以下に示す。
# 一般的なシステムは閏秒を無視する: date --date='2012-06-30 23:59:59 +0000' +%s 1341100799 date --date='2012-06-30 23:59:60 +0000' +%s date: invalid date '2012-06-30 23:59:60 +0000' date --date='2012-07-01 00:00:00 +0000' +%s 1341100800 |
# 例外的なシステムは閏秒をカウントする: date --date='2012-06-30 23:59:59 +0000' +%s 1341100823 date --date='2012-06-30 23:59:60 +0000' +%s 1341100824 date --date='2012-07-01 00:00:00 +0000' +%s 1341100825 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on June 7, 2022 using texi2html 1.82.