임베디드 관련 카테고리/Linux command

우분투 스크립트로 2년 뒤의 날짜 계산하기

CBJH 2024. 10. 3.
728x90
반응형

개발을 하다 보면, 특정 날짜를 기준으로 미래의 날짜를 계산해야 할 때가 있습니다. 특히 등록일로부터 2년 뒤의 날짜를 계산하고 싶다면, 우분투의 date 명령어를 사용해 쉽게 해결할 수 있습니다. 이번 글에서는 date 명령어를 사용하여 현재 날짜로부터 2년 뒤의 날짜를 계산하고, 그 결과를 YYYY-MM-DD 형식으로 출력하는 방법을 알아보겠습니다.

스크립트 예제

아래는 스크립트를 실행한 날짜를 등록일로 설정하고, 그로부터 2년 뒤의 날짜를 계산하는 간단한 스크립트입니다.

#!/bin/bash

# 스크립트를 실행한 날짜를 등록일로 설정합니다
registration_date=$(date +"%Y-%m-%d")

# 등록일로부터 2년 뒤의 날짜를 계산합니다
future_date=$(date -d "$registration_date + 2 years" +"%Y-%m-%d")

# 계산된 날짜를 출력합니다
echo "Registration date: $registration_date"
echo "2 years after the registration date: $future_date"

 

스크립트 실행 방법

 

1. 이 스크립트를 vi 편집기에서 작성하세요:

vi calculate_future_date.sh

2. vi 편집기에서 스크립트 예제 코드를 붙여넣기해 파일을 저장하고 종료합니다.

3. 스크립트에 실행 권한을 부여합니다:

chmod +x calculate_future_date.sh

4. 스크립트를 실행합니다:

./calculate_future_date.sh

이 스크립트를 실행하면 현재 날짜가 등록일로 설정되고, 그로부터 2년 뒤의 날짜가 계산되어 출력됩니다.

 

date 명령어와 옵션 설명

 

이 스크립트에서 가장 중요한 부분은 date 명령어입니다. date는 우분투에서 현재 날짜와 시간을 출력하거나, 날짜 계산을 할 때 사용하는 도구입니다.

date -d "$registration_date + 2 years" +"%Y-%m-%d"

위 명령어는 현재 날짜를 기준으로 2년 뒤의 날짜를 계산하고, 그 결과를 YYYY-MM-DD 형식으로 출력하는 역할을 합니다. 이제 이 명령어의 각 부분을 쉽게 설명해 드릴게요.

1. date

  • date는 날짜와 시간을 출력하거나 조작하는 명령어입니다.
  • 특별한 옵션 없이 사용하면 현재 시스템의 날짜와 시간을 출력합니다.

2. -d

  • -d는 "date string"의 약자로, 특정 날짜를 입력받아 그 날짜를 기준으로 계산할 때 사용됩니다.
  • 이 옵션을 통해 기본 시스템 날짜가 아니라, 사용자가 입력한 날짜로부터 계산할 수 있습니다.

3. "$registration_date + 2 years"

  • **"$registration_date"**는 등록일을 나타내는 변수입니다. 여기서는 스크립트 실행 날짜를 등록일로 사용하고 있습니다.
  • **+ 2 years**는 등록일로부터 2년 뒤를 계산하라는 의미입니다.
    • 이 부분을 다른 값으로 변경하면 다른 기간을 계산할 수 있습니다. 예를 들어:
      • + 3 months: 3개월 뒤의 날짜
      • - 5 days: 5일 전의 날짜
      • + 1 week: 1주일 뒤의 날짜

4. +"%Y-%m-%d"

  • 이 부분은 출력할 날짜의 형식을 지정합니다.
    • %Y: 4자리 연도의 형식 (예: 2024)
    • %m: 2자리 월의 형식 (예: 10월은 10)
    • %d: 2자리 일의 형식 (예: 01일부터 31일까지)

이 형식 덕분에 날짜가 YYYY-MM-DD 형태로 출력됩니다. 예를 들어, 2024-10-02와 같이 출력됩니다.

스크립트의 결과

이 스크립트를 실행하면, 아래와 같은 형식으로 현재 날짜와 2년 뒤의 날짜가 출력됩니다:

 
Registration date: 2024-10-02
2 years after the registration date: 2026-10-02

이 스크립트를 사용하면 특정 날짜로부터 간단히 2년 뒤의 날짜를 계산할 수 있습니다. 이 방식은 개발 작업에서 특정 기간 이후의 날짜를 자동으로 계산하고 출력할 때 유용하게 사용할 수 있습니다.

댓글