날짜와 시간을 알려주는 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.
'Linux' 카테고리의 다른 글
[쉘 스크립트] 연습문제 [while , if , case, for 문 활용해보기] (0) | 2022.02.18 |
---|---|
Nginx 주요 설정파일 및 명령어 (0) | 2022.02.15 |
[centos7] Nginx 설치 및 설치 상태 점검 (0) | 2022.02.15 |
[Linux] 리눅스 명령어 sed (0) | 2022.01.21 |
[Linux] 리눅스 명령어 wc (0) | 2022.01.20 |