과거


date -d 'yesterday'		# 어제
date -d '1 day ago' # 1일전 = 어제
date -d '2 day ago' # 2일전
date -d '35 day ago' # 20일전
date -d '1 week ago' # 1주일전
date -d '2 month ago' # 1달전
date -d '3 year ago' # 3년전
date -d '10 second ago' # 10초전
date -d '20 minute ago' # 20분전
date -d '30 hour ago' # 30시간전
date -d '3 year 7 month ago' # 3년 7개월전



미래

* 과거에서 ago 를 빼면 됨

date -d 'tomorrow'		# 내일
date -d '1 day' # 1일후 = 내일
date -d '2 day' # 2일후
date -d '35 day' # 20일후
date -d '1 week' # 1주일후
date -d '2 month' # 1달후
date -d '3 year' # 3년후
date -d '10 second' # 10초후
date -d '20 minute' # 20분후
date -d '30 hour' # 30시간후
date -d '3 year 7 month' # 3년 7개월후


요일 기준


date -d 'this friday'	# 이번주 금요일
date -d 'last monday' # 지난 월요일
date -d 'next tuesday' # 다음 화요일


특정 시간을 기준으로 날짜 더하고 빼기


date -d '2010-01-03 07:32:10 + 2 day 5 hours 17 minute'	
# 2010년 1월 3일 7시 32분 10초를 기준으로 2일 5시간 17분후


옵션 1


-d 는 --date 옵션으로 사용해도 됩니다. --date 로 쓸때에는 --date= 형식으로 사용하시면 됩니다.

date --date='2 month'


옵션 2


시간단위를 나타내는 day, week, month, year, second, minute, hour 등은 뒤에 s(복수)를 붙여도 되고 안붙여도 됩니다.

date -d '1 day ago'
date -d '1 days ago'


옵션 3


시간을 원하는 형식으로 뽑기위해서는 아래같이 하시면 됩니다.

현재 시간으로부터 2일전의 년-월-일 시:분:초 형식으로 표시하려면

date '+%Y-%m-%d %H:%M:%S' -d '2 day ago'


쉘스크립트에서 해당 시간을 변수에 담기


보통 위와 같은 date 함수는 주로 쉘스크립트에서 사용하게 됩니다. 리눅스 명령으로 가져온 결과값을 변수에 담으려면

yesterday=$(date -d '1 day ago')

또는

yesterday=`date -d '1 day ago'`

변수를 사용할때는

echo $yesterday

'Database > Server' 카테고리의 다른 글

쉘스크립트  (0) 2014.05.09
# ACL (Access Control List)  (0) 2010.06.10
RSH 설정  (0) 2010.06.10
lsvg 명령어  (0) 2010.05.26
RAID 종류 및 설명  (0) 2010.05.20
DBMS별 날짜 포멧
Oracle - MS SQL - DB2 UDB 의 서로 다른 날짜 형식을 맞추기위한 SQL문

--------------------------------------------------------------------------------
DBMS 별 시간, 날짜 조회 쿼리
--------------------------------------------------------------------------------
1. Oracle
- 날짜+시분초 까지 조회가능
select sysdate from dual;

- 날짜+밀리초+시간존 까지 조회
select current_timestamp from dual;

2. MS SQL
- 날짜 + 밀리초 단위까지 조회가능
select getdate();

3. DB2 UDB
- 날짜+밀리초까지 조회 가능
select current timestamp from sysibm.sysdummy1;
- 날짜만 조회
select current date from sysibm.sysdummy1;
- 밀리초 단위의 시간만 조회
select current time from sysibm.sysdummy1;

--------------------------------------------------------------------------------
DBMS 별 default date format
--------------------------------------------------------------------------------
1. Oracle
한글 : YYYY/MM/DD                       영어 : DD-MON-YYYY

2. MS SQL
한글 :  YYYY/MM/DD HH:MI:SS      영어 : MM-DD-YYYY HH:MI:SS

3. DB2 UDB
TIMESTAMP 타입 : YYYY-MM-DD-HH:MI:SS.MMMMMM
DATE 타입 : YYYY-MM-DD

TIME 타입 : HH:MI:SS.MMMMMM

--------------------------------------------------------------------------------
날짜 포맷 변환
--------------------------------------------------------------------------------
[ 형식 : 'YYYY.MM.DD' ]
1. Oracle : TO_CHAR(date_exp, 'YYYY.MM.DD')
2. MSSQL : CONVERT(VARCHAR, date_exp, 102)
3. DB2 : REPLACE(CHAR(DATE(date_exp),ISO), '-', '.')

[ 형식 : 'HH:MI:SS' ]
1. Oracle : TO_CHAR(date_exp, 'HH:MI:SS')
2. MSSQL : CONVERT(VARCHAR, date_exp, 108)
3. DB2 : CHAR(TIME(date_exp) , JIS )

[ 형식 : 'YYYY/MM/DD' ]
1. Oracle : TO_CHAR(date_exp, 'YYYY/MM/DD')
2. MSSQL : CONVERT(VARCHAR, date_exp, 111)
3. DB2 : REPLACE(CHAR(DATE(date_exp), ISO), '-', '/')

[ 형식 : 'YYYYMMDD' ]
1. Oracle : TO_CHAR(date_exp, 'YYYYMMDD')
2. MSSQL : CONVERT(VARCHAR, date_exp, 112)
3. DB2 : CHAR(DATE(date_exp))

[ 형식 : 'HH24:MI:SS' ]
1. Oracle : TO_CHAR(date_exp, 'HH24:MI:SS')
2. MSSQL : CONVERT(VARCHAR(8), date_exp, 114)
3. DB2 : CHAR(TIME(date_exp))

[ 형식 : 'YYYY.MM.DD HH24:MI' ]
1. Oracle : TO_CHAR(date_exp, 'YYYY.MM.DD HH24:MI')
2. MSSQL : CONVERT(VARCHAR, date_exp, 102) + ' ' + CONVERT(VARCHAR(5), date_exp, 114)
3. DB2 : REPLACE(CHAR(DATE(date_exp), ISO), '-', '.') || CAST( TIME(date_exp) AS CHAR(5))

[ 형식 : 'YYYY/MM/DD HH24:MI:SS' ]
1. Oracle : TO_CHAR(date_exp, 'YYYY/MM/DD HH24:MI:SS')
2. MSSQL : CONVERT(VARCHAR, date_exp, 111) + ' ' + CONVERT(VARCHAR(8), date_exp, 114)
3. DB2 : REPLACE(CHAR(DATE(date_exp), ISO), '-', '/') || CAST( TIME(date_exp))

- http://www.dbguide.net/ 발취

'Database' 카테고리의 다른 글

DBMS별 날짜 포멧  (0) 2010.01.27
오픈소스 DBMS 라이센스의 이해  (0) 2009.12.30
지금 우리에게 필요한 건 정렬의 제거이다  (0) 2009.12.04

+ Recent posts