728x90

날짜와 시간을 알려주는 date 명령어는 개발할 때는 물론이고,

시스템의 데이터를 동기화할때,

데이터를 백업할 때 등등 매우 많은 곳에서 사용합니다.

 

그런데, 막상 date를 이용해 내가 원하는 포맷으로 날짜를 출력하고 싶을 때는

어떻게 해야 하는지 잘 모르거나 생각이 나지 않아 인터넷에서 검색하곤 합니다.

 

[ Date 포맷 ]

 

date 포맷은 날짜와 포맷을 내가 원하는 형식으로 출력할 수 있도록 도와줍니다.

 

% 퍼센트 기호와 함께 사용되며 요일, 년, 월, 일, 시, 분, 초 등을 조합하여 원하는 날짜와 시간으로 출력할 수 있습니다.

 

아래 표는

 

런 date의 포맷을 정리한 것으로 다음과 같은 포맷을 사용하면, 다양하게 날짜와 시간을 표현할 수 있습니다.

 

포맷 설명
%% % 기호
%a 로케일 타입의 짧은 요일 (예 : Mon)
%A 로케일 타입의 요일 (예 : Monday)
%b 로케일 타입의 짧은 월 (예 : Jan)
%B 로케일 타입의 월 (예: January)
%c 로케일에 따른 날짜와 시간
(예: Thu Mar 3 23:05:25 2005)
%C 세기 (예 : 21)
%d 일 (예: 01)
%D 날짜 %m/%d/%y
%e 일 %_d와 동일함
%F 날짜(%Y-%m-%d)
%g 2 자리수 연도
%G 4 자리수 연도
%N 나노초(000000000..999999999)
%p 로케일 타입의 AM 또는 PM
%P %p와 동일하며, 소문자임
%r 로케일 타입의 시(예: 11:11:04 PM)
%R 24시간 기준의 시와 분, %H:%M과 동일
%s %UTC 타입의 초
%S 초 (00..60)
%t
%T 시간(%H:%M:%S)
%u 요일(1..7); 1은 월요일임
%U 일요일로 시작하는 연도의 주수 (00..53)
%V 월요일로 시작하는 연도의 주수 (01..53)
%w 주별 일수 (0..6); 0은 일요일임
%W 월요일로 시작하는 연도별 주수(00..53)
%h %b와 동일함
%H 시(00..23)
%I 시(01..12)
%j 일(001..366)
%k 시(0..23), %_H와 동일함
%l 시( 1..12 ), %_l와 동일함
%m 월(01..12)
%M 분(00..59)
%n 뉴라인
%x 로케일 타입의 날짜(예: 12/31/99)
%X 로케일 타입의 시간(예: 23/13:48)
%y 연도(00..99)
%Y 연도
%z 타임존(예: +0900)
%:z 타임존(예: +09:00)
%::z 타임존(예: +09:00:00)
%:::z 타임존(예: +09, +05:30)
%Z 타임존(예: KST)

 

다음은 위의 포맷을 활용한 예제를 알아보자.

 

#년-월-일 형태의 날짜 표현

date +%Y-%m-%d

ㄴ 2022-01-20

 

# 월-일-년(00) 형태의 날짜 표현

date +%m-%d-%y

ㄴ 01-20-22 %y(2자리수 연도)

 

# 일-영문월-년 형식의 날짜 표현

date +%d-%b-%Y

ㄴ 11-Jun-2020

 

# 12시간 기준의 시:분:초 AM/PM 형식의 시간 표현

date '+%Y-%m-%d %l:%M:%S %p'

ㄴ 12:39:04 PM

 

# 24시간 기준의 시:분:초 시간 표현

date '+%k:%M:%S'

ㄴ 12:40:43

 

# 년-월-일 시:분:초 AM/PM 형식의 날짜 표현

date '%Y-%m-%d %l:%M: %p'

ㄴ 2022-01-20 11:43 AM

 

# 년-월-일 시:분:초 타임존 시간차 형식의 날짜 표현

date '+%Y-%m-%d %k:%M: %Z %:z'

ㄴ 2022-01-20 11:17 KST +09:00

 

# 요일, 월, 일, 년 형식의 날짜 표현

date '+%A, %B %d,%Y'

ㄴ Thursday, June 11, 2020

 

# 요일, 월 일,년 at 시:분:초 AM/PM 형식의 날짜 표현

date '+%A, %B %d, %Y at %H:%M:%S %p'

ㄴ Thursday, January 20, 2022 at 11:28:12 AM

 

# 년월일시분초 형식의 날짜 표현

date +%Y%m%d%H%M%S

ㄴ 20220120113340

 

# 이번 주는 올해의 몇 번째 주일까?

echo "This week is the $(date +%V)th week of the year."

ㄴ This week is the 03th week of the year.

 

# 오늘은 몇 번째 요일일까?

echo "Today is the $(date +%u)th day of the week."

Today is the 4th day of the week.

 

728x90

+ Recent posts