간단하게는 서버 시간을 확인하겠지만, 이를 기반으로 쉘 스크립트를 작성하는 일이 자주 발생하여 간단히 정리해보았다.
$ date --help
- date 명령어의 설명이 나온다. 간단한 설명이 나와서 이를 기반으로 date 명령어를 사용해보아도 된다.
$ date
- 기본적으로 date는 현재 서버 날짜와 시간이 출력된다.
$ date -d ‘1 day ago’
- 하루 전 날짜를 확인 해보고 싶으면 -d 옵션을 사용하면 가능하다.
$ date -d ‘1 month ago’
$ date -d ‘1 year ago’
- 한달 전 작년 을 확인 하고 싶으면 응용해서 사용할 수 있다.
$ date -d ‘1 year’
- ago를 뺄 경우 현재 날짜에서 더해지는 것을 확인 할 수 있다.
오늘 현재에 대한 표현
this / now / today
$ date -d ‘this day’
$ date -d ‘now’
$ date -d ‘today’
this는 현재일 다음으로의 표현 this monday의 경우 오늘(수요일 6/17)로 부터 돌아오는 월요일(6/22)
$ date -d ‘this monday’
next
- this와 비슷하게보면 되고 오늘로 부터 다음으로에 대한 표현
last
- 오늘로 이전 마지막에 대한 표현 예를 들면 오늘(수, 6/17) 일 경우 last day를 할 경우 화,6/16 출력 (ex> $ date -d ‘last day’ )
tomorrow, yesterday
- 내일과 어제에 대해서도 키워드로 사용 할 수 있다.
날짜 계산
- 출력된 날짜 기준으로 날짜를 더하거나 빼서 계산이 가능하다
- 방식은 ‘기준 날짜 + 날짜’ 혹은 ‘기준날짜 — 날짜’ 형태로 진행
ex1> date -d ‘yesterday - 1 day’
ex2> date -d ‘tomorrow+ 2 day’
- 좀 더 심화된 날짜계산도 가능하다.
- 4주 전 월~금요일 날짜 계산
ex1, 4주전 월요일> date -d ‘4 week ago monday’
ex2 4주전 화요일> date -d ‘4 week ago monday+ 1 day ’
ex3 4주전 화요일> date -d ‘4 week ago tuesday’
포맷
- date -d ‘날짜’ ‘+날짜포맷’ 의 형태로 포맷을 기재 할 수 있다.
- date -d ‘now’ ‘+%Y-%m-%d’
- 기본적인 년/월/일/시/분/초 는 아래와 같다.
년 : %Y
월 : %m
일 : %d
시 : %H
분 : %M
초 : %S - 자세한 사항은
https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_date 링크에서 확인 해 볼수 있다.
참고
https://www.cyberciti.biz/tips/linux-unix-get-yesterdays-tomorrows-date.html