Bash:
날짜를 문자열로 변환하기
How to (방법)
# 현재 날짜를 YYYY-mm-dd 형식의 문자열로 변환
date_str=$(date +"%Y-%m-%d")
echo $date_str
출력 예시:
2023-04-02
# 사용자 지정 날짜를 문자열로 변환 (예: 2023년 5월 1일)
date_str=$(date -d '2023-05-01' +"%Y년 %m월 %d일")
echo $date_str
출력 예시:
2023년 05월 01일
Deep Dive (심층 분석)
처음에는 리눅스와 유닉스 시스템에서 시간과 날짜를 다루기 위한 명령어로 ‘date’ 명령어가 있었습니다. ‘date’ 명령어는 날짜를 설정하거나 표시하기 위해 사용됩니다. 문자열로의 변환 기능은 이런 명령어의 유연성을 보여줍니다.
다른 방법으로는 ‘strftime’이라는 함수를 사용할 수 있는데, 다양한 프로그래밍 언어에서 지원하는 함수로 날짜와 시간을 원하는 형식의 문자열로 변환할 수 있습니다. Bash에서는 ‘date’ 명령어를 통해서 ‘strftime’ 기능을 사용합니다.
리눅스 환경에서는 ‘date’ 명령어가 널리 쓰이고 있으며, 그 구현은 GNU Coreutils 패키지에 포함되어 있습니다. 이 명령어는 시스템의 시간대 설정에 따라 출력이 달라질 수 있기 때문에, 스크립트가 다양한 환경에서 실행될 때는 시간대를 고려해야 합니다.
See Also (참고 자료)
- GNU Coreutils ‘date’ 매뉴얼: https://www.gnu.org/software/coreutils/manual/html_node/date-invocation.html
- Bash 날짜와 시간 처리: https://www.tldp.org/LDP/abs/html/timedate.html
- 언어별 ‘strftime’ 포맷팅: http://strftime.org/