Previous: Options for date, Up: date invocation
以下にいくつかの例があります.上記セクションの-dオプションに 対するドキュメントも参照してください.
date --date='2 days ago'
date --date='3 months 1 day'
date --date='25 Dec' +%j
date '+%B %d'
しかし,月の最初の九日の間,‘%d’はゼロパディングした二桁のフィー ルドに展開するため,これは期待するものでない可能性があり,例えば, ‘date -d 1may '+%B %d'’は‘May 01’を出力します.
-
修飾子を使用可能です.
date -d 1may '+%B %-d
date +%m%d%H%M%Y.%S
date --set='+2 minutes'
Thu, 31 Jul 2003 13:13:05 -0700
date --date='1970-01-01 00:02:00 +0000' +%s 120
上記の例でタイムゾーン情報を指定していないと仮定します.そのと き,文字列を解釈するとき,日付はコンピュータのタイムゾーンの考えを使用 します.イングランドのグリニッジにいる場合,得るものはこのようになりま す.
# local time zone used date --date='1970-01-01 00:02:00' +%s 18120
date --date='2000-01-01 UTC' +%s 946684800
代わりに,--utc (-u)オプションを使用します.日付文字 列から‘UTC’を削除してもかまいません.これは‘%s’と,その他の ゼロと起点としたタイムゾーンオフセットを用いた書式と同じ結果を生成しま すが,‘%z’のような地域に依存した書式とは異なる結果になります.
date -u --date=2000-01-01 +%s 946684800
そのような扱いにくい秒数を,より読みやすい形式に変換するため,このよう なコマンドを使用してください.
# local time zone used date -d '1970-01-01 UTC 946684800 seconds' +"%Y-%m-%d %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