date (UNIX)
UNIXのdateとは、
利用 法
[オプションなしで
$date Fri Jul 27 14:12:06 EDT 2007
dateコマンドの
フォーマット
[dateコマンドに+で
%a | ロケールによって | ||
%A | ロケールによって | ||
%d | 14 | ||
%e | 14 | ||
%j | その |
001-366 | |
%u | 4 | ||
%w | 4 | ||
%U | 00–53 | ||
%W | 00–53 | ||
%V | 01–53 | ||
%m | 11 | ||
%h | 11月 | ロケールによって | |
%b | 11月 | ロケールによって | |
%B | 11月 | ロケールによって | |
%y | 2 |
00–99 | |
%Y | 2024 | ||
%g | 2 |
||
%G | 4 |
||
%C | 00–99 | ||
%D | mm/dd/yy |
11/14/24 | |
%x | mm/dd/yy |
11/14/2024 | |
%F | %Y-%m-%d | 2024-11-14 | |
%l ( |
12 |
4 | |
%I ( |
12 |
04 | |
%k | 24 |
4 | |
%H | 24 |
04 | |
%p | AM/PM |
AM | |
%P | am/pm |
am | |
%M | 40 | ||
%s | 1970 |
1731559215 | |
%S | 00–60 (60というのは |
||
%N | ナノ |
000000000–999999999 | |
%r | 04:40:15 AM | ||
%R | hh:mm、 |
||
%T | 04:40:15 | ||
%X | %H:%M:%S(ロケール |
||
%c | ロケール |
Sat Nov 04 12:02:33 EST 1989 | |
%z | RFC-822 |
-0500 | |
%Z | EST |
デフォルトではdateは
GNU dateは%と
オプション
[-d, -de=stringは、
-e=datefileは、deで
-s, --set=stringは、-d, -deと
-nは、timed(8)ユーティリティを
-uは、UTCに
date [-u|--utc|--universal] [mmddHHMM[[cc]yy][[.SS]]というオプションでのみ、その
-uは、GMTに
--utc, --universalはTZを
-ITIMESPEC, --iso-8601[=TIMESPEC]は、ISO 8601
-R, --rfc-822は、
--helpは、
Single UNIX Specification (SUS)は、たった
実行 例
[date "+%m/%d/%y" 7/4/06
date "+%Y%m%d" 20060704
START=`date '+%r'` echo $START 03:06:02 PM sleep 5 echo $START 03:06:02 PM
ただし、
dateコマンド
DATE=$(date -d yesterday +"%Y%m%d") echo $DATE 20060704
OLDTZ=$TZ export TZ=GMT; echo "GMT: `date +\"%F %R (%Z)\"`" GMT: 2008-10-31 12:30 (GMT) export TZ=Europe/Stockholm; echo "Stockholm: `date +\"%F %R (%Z)\"`" Stockholm: 2008-10-31 13:30 (CET) export TZ=Asia/Kuala_Lumpur; echo "Kuala Lumpur: `date +\"%F %R (%Z)\"`" Kuala Lumpur: 2008-10-31 20:30 (MYT) export TZ=US/Central; echo "Dallas: `date +\"%F %R (%Z)\"`" Dallas: 2008-10-31 07:30 (CDT) export TZ=$OLDTZ
その
date +"%Y%m%d" -d sunday # GNU date 20060709 date +"%Y%m%d" -d last-sunday # GNU date 20060702 date +"%Y%m%d" -d last-week # GNU date date -v -1m +"%Y%m%d" # BSD date 20060627 date +"%Y%m%d" -d last-month # GNU date date -v -1w +"%Y%m%d" # BSD date 20060604 date +"%Y%m%d" -d last-year # GNU date date -v -1y +"%Y%m%d" # BSD date 20050704 date +"%Y%m%d" -d next-week # GNU date date -v 1w +"%Y%m%d" # BSD date 20060711 date +"%Y%m%d" -d next-month # GNU date date -v 1m +"%Y%m%d" # BSD date 20060804 date +"%Y%m%d" -d next-year # GNU date date -v 1y +"%Y%m%d" # BSD date 20070704
date +"%Y%m%d" -d "2 days ago" # GNU date date -v -2d +"%Y%m%d" # BSD date 20060702
date +"%Y%m%d" -d "2 months ago" # GNU date date -v -2m +"%Y%m%d" # BSD date 20060504
date +"%Y%m%d" -d "2 years ago" # GNU date date -v -2y +"%Y%m%d" # BSD date 20040704
UNIX
date +"%s" -d "Fri Apr 24 13:14:39 CDT 2009" 1240596879
UNIX
date -d "UTC 1970-01-01 1240596879 secs" Fri Apr 24 13:14:39 CDT 2009
または、
date -ud @1000000000 Sun Sep 9 01:46:40 UTC 2001
システム時刻 の設定
[SUSのX/Open System Interfaces(XSI)
その
date --set="20040908 01:22"
脚注
[注釈
[- ^
設定 にはsettimeofday()が利用 される。 “Manpage of GETTIMEOFDAY”. JM Project. linuxjm.sourceforge.jp (2009年 3月 25日 ). 2011年 8月 12日 閲覧 。
出典
[- ^
“Manpage of GETTIMEOFDAY”. JM Project. linuxjm.sourceforge.jp (2009
年 3月 25日 ). 2011年 8月 12日 閲覧 。 - ^
大竹 龍 史 (2008年 12月26日 ). “暗記 に頼 らずちゃんと理解 実践 でも役立 つLPICドリル -第 8回 Linux時刻 管理 の仕組 みと設定 ”. アットマーク・アイティ. jibun.atmarkit.co.jp. 2011年 8月 12日 閲覧 。
関連 項目
[- adjtimex - Linux
環境 下 でdateとほぼ同 じ用途 に用 いられるコマンド。ただしこちらは直接 システムコールadjtimex()でシステム時刻 を呼 び出 す。 - hwclock - システム
時刻 だけではなくリアルタイムクロック(RTC)も操作 できるコマンド。システムコールioctl()を使 って/dev/rtcにアクセスし、カーネルのRTCデバイスドライバを利用 してRTCにアクセスする。このコマンドを用 いてシステム時刻 をRTCに書 き込 める、またはその逆 、システム時刻 をRTCに同期 できる。RTCは通常 タイムゾーン情報 を回路 内 に保持 していない。そのためにRTCのタイムゾーンを定 める設定 ファイル(/etc/adjtime)が存在 する。またシステム時刻 のタイムゾーン情報 (即 ちtz database)の設定 ファイルはこれと別 に存在 する(/etc/localtime)。これらを利用 し、RTCとシステム時刻 を互 いに同期 する場合 に両者 のタイムゾーンに相違 が発生 しないよう配慮 する必要 がある。 - UNIXプログラムの
一覧 - UNIX
時間 、すなわち1970年 1月 1日 0時 0分 0秒 UTCをエポックとした経過 秒 。 - timeとdate
- cronは
与 えられた日時 に稼動 するスケジューリング・ジョブを処理 するデーモンである。
外部 リンク
[date
: write the date and time – The Open Group基本 仕様 書 第 7号 2018年版 「シェル及 びユーティリティ」date(1)
: print or set the system date and time – Linux User Commands Manual (en)- Manpage of DATE - マニュアルの
日本語 訳 。 - Manpage of date -
同上 。 date(1)
– FreeBSD General Commands Manual Pages (en)- UNIX dateコマンドの
実行 例 。