필요에 따라 시간과 날짜를 다양한 포맷으로 출력하는 명령어이다.

사용법 : date [옵션] [+포맷] [날짜] 
       -d, --date date : 지정한 date 값과 같이 시간과 날짜를 보여준다. 
       -f, --file=datedate : 지정한 날짜 파일에서 각각의 줄에 대한 날짜를 보여준다. 
       -I, --iso-8601[=TIMESPEC] : ISO-8601 포맷으로 보여준다. 만일 timespec를 지정하였다면, 날짜나 시, 분, 초에 대한 값 중 하나를 보여준다. 
       -r, --reference=FILE : 지정한 파일이 마지막으로 수정된 날짜를 보여준다. 
       -R, --rfc-822 : RFC-822 데이트 문자열로 보여준다. 
       -s, --set=STRING : 지정한 string으로 시간을 맞춘다. 
       --version : 버전정보를 보여준다. 

date는 시간과 날짜를 알려 준다. 만일 옵션이 없으면, 시스템의 현재 시간과 날짜를 보여주며, +로 시작되는 옵션이 있으면 지시하는 형태대로 보여주게된다.
기본 출력은 다음과 같다.

# date 
2002. 07. 01. (월) 20:09:50 KST 

%j는 현 시스템의 년도에서 오늘 날짜까지 며칠이 지났는지 알 수 있다.

# date +%j 
182 

%H는 현재의 시간을 24시간제로 보여주며,%M은 분을 보여준다.
또한 다음과 같은 방법으로 오늘 날짜의 연월일을 형식을 지정하여 표현할 수도 있다.

# date +%H%M 
2009 
# date +%Y-%m-%d 
2002-07-10 

--date 옵션으로 현재 시간에 15일 후의 날짜를 알 수 있다.

# date --date '15 days day' 
2002. 07. 17. (수) 20:18:24 KST 

그럼, 현재 시간에서 3년 2개월 전은 날짜가 어떻게 될까?

# date --date '3years 2months ago' 
1999. 05. 01. (토) 20:19:48 KST 

또한 이와 같은 날짜의 출력 결과를 다냥한 포맷으로 출력할 수 있다. 이 포맷을 다양하게 조합하여 자기만의 출력 결과를 만들 수도 있으며, 셸 스크립트와 cron을 이용하여 백업이나 기타 작업을 할 때 셸 스크립트에서 date 명령을 이용하여 작업한 날짜와 시간의 이름으로 파일을 만들도록 지정할 수도 있다.

       %      % 문자 그 자체 
       -      필드를 채우지 않는다.(기본적으로 0으로 채운다) 
       _      필드를 공백으로 채운다. 
       n      줄바꿈 
       t      수평 탭 

시간 필드: 
       %H     시 (00..23) 
       %I     시 (01..12) 
       %k     시 ( 0..23) 
       %l     시 ( 1..12) 
       %M     분 (00..59) 
       %p     로케일의 AM 또는 PM 
       %r     시간, 12-시간제 (hh:mm:ss [AP]M) 
       %s     1970-01-01  00:00:00  UTC  (비표준 확장기능)로 부터 
              경과된 초 
       %S     초 (00..61) 
       %T     시간, 24-시간 (hh:mm:ss) 
       %X     로케일에서 정의한 시간 표현(%H:%M:%S) 
       %Z     시간대 (에, EDT), 시간대를 결정할 수 없는 때는 아무 
             값도 출력하지 않는다. 

날짜 필드: 
       %a     로케일의 약식 요일 이름 (Sun..Sat) 
       %A     로케일의  완전한 요일 이름, 가변 길이 (Sunday..Sat- 
             urday) 
       %b     로케일의 약식 월 이름 (Jan..Dec) 
       %B     로케일의 완전한 월 이름, 가변 길이 (January..Decem- 
             ber) 
       %c     로케일의 날짜와 시간 (Sat Nov 04 12:02:33 EST 1989) 
       %d     월 중 일 (01..31) 
       %D     날짜 (mm/dd/yy) 
       %h     %b 와 동일 
       %j     연 중 일 (001..366) 
       %m     월 (01..12) 
       %U     연 중 주  번호,  일요일을  주의  첫번째  날로  생각 
             (00..53) 
       %w     요일 번호 (0..6), 0 은 일요일 
       %W     연  중  주  번호,  월요일을  주의  첫번째 날로 생각 
             (00..53) 
       %x     로케일의 날짜 표현식 (mm/dd/yy) 
       %y     연 중 일의 마지막 두 숫자 (00..99) 
       %Y     연 (1970...) 
2005/06/21 20:36 2005/06/21 20:36

트랙백 주소 :: 이 글에는 트랙백을 보낼 수 없습니다