Linux의 Bash shell script에서 date를 사용하여 날짜, 시간을 가져오는 방법을 알아보겠습니다.
1. date로 날짜 얻기
다음 코드들은 date의 실행 결과를 today 변수에 저장합니다. date는 날짜, 시간을 가져오는 명령어입니다.
아래 코드에서 quotes(`)를 사용한 방법 또는 $
를 사용한 방법 중에 하나를 선택하셔서 사용하시면 됩니다.
#!/bin/bash
today=`date`
echo $today
today=$(date)
echo $today
위의 코드를 실행해보면, 시스템에 설정된 Locale 언어로 date 및 time이 출력됩니다.
$ bash example.sh
2021. 10. 08. (금) 18:59:04 KST
2021. 10. 08. (금) 18:59:04 KST
2. format을 적용하여 원하는 형식으로 날짜, 시간 출력
다음과 같은 syntax로 date에 format을 적용하여 원하는 형식으로 출력할 수 있습니다.
date +FORMAT
2.1 "MM-DD-YY" 형식으로 날짜 출력
%m-%d-%y
는 MM-DD-YY
형식으로 날짜를 출력합니다.
#!/bin/bash
today=`date +%m-%d-%y`
echo $today
Output:
$ bash example.sh
10-08-21
2.2 "MM-YYYY" 형식으로 날짜 출력
%m-%Y
는 MM-YYYY
형식으로 날짜를 출력합니다.
#!/bin/bash
today=`date +%m-%Y`
echo $today
Output:
$ bash example.sh
10-2021
2.3 "MM/DD/YY" 형식으로 날짜 출력
%D
는 MM/DD/YY
형식으로 날짜를 출력합니다.
#!/bin/bash
today=`date +%D`
echo $today
Output:
$ bash example.sh
10/08/21
3. 시간만 출력
%T
는 시간만 출력합니다.
#!/bin/bash
time=`date +%T`
echo $time
Output:
$ bash example.sh
19:06:56
3.1 시간만 출력 (12시 형식으로 출력)
%r
는 12시 형식으로 시간만 출력합니다. 시간은 System의 Locale 언어로 표현됩니다.
#!/bin/bash
time=`date +%r`
echo $time
Locale이 ko_KR
일 때, 위의 코드는 다음과 같이 출력합니다.
$ bash example.sh
오후 07시 06분 56초
Locale이 en_US
일 때, 위의 코드는 다음과 같이 출력합니다.
$ bash example.sh
07:06:56 PM
3.2 HH:MM 형식으로 시간 출력
%H:%M
는 시간과 분만 출력합니다.
#!/bin/bash
time=`date +%H:%M`
echo $time
Output:
$ bash example.sh
19:06
4. 특정 날짜 시간 출력
4.1 현재에서 하루 전/후 날짜 출력
-d "-1 days"
옵션은 현재에서 하루 전의 날짜를 출력합니다. + days
는 다음 날의 날짜를 출력합니다.
#!/bin/bash
yesterday=`date -d "-1 days"`
echo $yesterday
tommorrow=`date -d "+1 days"`
echo $tommorrow
Output:
$ bash example.sh
2021. 10. 07. (목) 19:16:10 KST
2021. 10. 09. (토) 19:16:10 KST
몇주 전/후, 또는 몇달 전/후의 시간은 다음과 같이 가져올 수 있습니다.
#!/bin/bash
date=`date -d "+2 weeks"`
echo $date
date=`date -d "-3 months"`
echo $date
4.2 특정 날짜에 format을 적용
다음과 같이 특정 시간의 날짜에 format을 적용하여 원하는 형식으로 출력할 수 있습니다.
#!/bin/bash
date=`date -d "-3 months" "+%m-%d-%Y"`
echo $date
Output:
$ bash example.sh
07-08-2021
5. 다양한 Format
아래와 같이 다양한 format들이 있습니다. 이것을 참고하여 원하는 형식으로 날짜, 시간을 가져올 수 있습니다.
Format | Description |
---|---|
date +%a | Gives name of the weekday [Mon, Sun, Fri] |
date +%A | Gives name of the weekday [Monday, Sunday, Friday] |
date +%b | Gives name of the month [Jan, Feb, Mar] |
date +%B | Gives name of the month [January, February, March] |
date +%d | Displays day of the month [05] |
date +%D | Displays current date MM/DD/YY format [11-01-21] |
date +%F | Shows date in YYYY-MM-DD format [2021-11-01] |
date +%H | Shows hour in 24-hour format [22] |
date +%I | Shows hour in 12-hour format [11] |
date +%j | Displays the day of the year [001 – 366] |
date +%m | Displays the number of the month [01-12] |
date +%M | Displays minutes [00-59] |
date +%s | Unix time stamp |
date +%S | Displays seconds [00-59] |
date +%N | Displays in Nanoseconds |
date +%T | Displays time as HH:MM:SS [in 24-hour format] |
date +%u | Day of the week [1-7] 1 is Monday, 6 is Saturday |
date +%U | Shows week number of the year [00-53] |
date +%Y | Displays year YYYY [2021] |
date +%Z | Displays Time zone |
Related Posts
- Bash Shell - 문자열에서 마지막 문자 N개 제거
- Bash Shell - 문자열에서 첫번째 문자 N개 제거
- Bash Shell - 실행 시간 측정 방법
- Bash Shell - 나눗셈에서 버림, 올림, 반올림 처리
- Bash Shell - 숫자가 양수인지 음수인지 확인하는 방법
- Bash Shell - 자신의 스크립트 파일 이름 가져오기
- Bash Shell - 문자열 출력 방법(echo, printf)
- Bash Shell - seq 명령어로 반복문 구현 및 예제
- Bash Shell - File 테스트 연산자
- Bash Shell - 무한 루프 (Infinite loop)
- Bash Shell - 숫자 비교 연산자
- Bash Shell - 문자열 비교 연산자
- Bash Shell - 대문자, 소문자로 변환 (Uppercase, Lowercase)
- Bash Shell - 스트립트를 root로 실행했는지 확인
- Bash Shell - 명령어 실행 결과를 변수에 저장
- Bash Shell - select로 선택 메뉴 구현
- Bash Shell - 변수가 정의되었는지 확인하는 방법
- Bash Shell - sleep 함수, 특정 시간 멈추기
- Bash Shell - 파일이 존재하는지 확인
- Bash Shell - 문자열 자르기 (substring, split)
- Bash Shell - 날짜, 시간 가져오기
- Bash Shell - Case 조건문
- Bash Shell - 파일 읽는 방법
- Bash Shell - 사용자로부터 입력 받기
- Bash Shell - 문자열을 연결하는 방법
- Bash Shell - 파일 생성 및 문자열 추가
- Bash Shell - 숫자 변수 증가/감소 시키기
- Bash Shell - 배열 할당, 길이, 객체 포함 여부 확인
- Bash Shell - 문자열 비교, 문자열 포함 여부 확인
- Bash Shell - 변수 선언, 할당
- Bash Shell - 조건문(if-else)
- Bash Shell - 숫자 연산 (더하기, 빼기, 곱하기, 나누기)
- Bash Shell - 반복문(for, while, until loop)
- Bash Shell - Command Line으로 전달된 인자 받기
- Bash Shell - 함수(Function)