ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python의 datetime 모듈 활용법
    python 기초 2025. 2. 17. 23:32
    728x90

    Python의 datetime 모듈은 날짜와 시간을 다루는 강력한 기능을 제공합니다. 이 모듈에서 중요한 두 가지 개념은 datetime 클래스와 timedelta 클래스입니다. 이를 활용하면 날짜 및 시간 데이터를 생성, 수정, 계산할 수 있습니다.

    1. datetime 클래스

    datetime 클래스는 날짜와 시간을 함께 표현할 수 있는 기능을 제공합니다.

    1.1 datetime 객체 생성

    from datetime import datetime
    
    # 현재 날짜 및 시간 가져오기
    now = datetime.now()
    print("현재 날짜 및 시간:", now)
    
    # 특정 날짜 및 시간 지정
    specific_date = datetime(2024, 2, 17, 14, 30, 0)
    print("특정 날짜 및 시간:", specific_date)

    1.2 datetime 객체에서 개별 값 추출

    print("년도:", now.year)
    print("월:", now.month)
    print("일:", now.day)
    print("시간:", now.hour)
    print("분:", now.minute)
    print("초:", now.second)

    1.3 문자열 변환 및 포맷팅

    # datetime 객체를 문자열로 변환
    formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
    print("포맷팅된 날짜:", formatted_date)
    
    # 문자열을 datetime 객체로 변환
    date_string = "2024-02-17 14:30:00"
    parsed_date = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
    print("파싱된 날짜:", parsed_date)

    2. timedelta 클래스

    timedelta 클래스는 날짜와 시간 간의 차이를 나타내며, 연산을 수행하는 데 유용합니다.

    2.1 timedelta 객체 생성

    from datetime import timedelta
    
    # 7일 후의 날짜 계산
    delta = timedelta(days=7)
    future_date = now + delta
    print("7일 후의 날짜:", future_date)
    
    # 7일 전의 날짜 계산
    past_date = now - delta
    print("7일 전의 날짜:", past_date)

    2.2 시간 차이 계산

    # 두 날짜 간의 차이 계산
    start_date = datetime(2024, 2, 10)
    end_date = datetime(2024, 2, 17)
    difference = end_date - start_date
    print("날짜 차이:", difference.days, "일")

    3. datetime과 timedelta를 활용한 응용 예제

    3.1 특정 날짜 이후의 날짜 구하기

    specific_date = datetime(2024, 1, 1)
    new_date = specific_date + timedelta(weeks=2)
    print("2주 후의 날짜:", new_date)

    3.2 특정 시간 이후의 시간 구하기

    specific_time = datetime(2024, 2, 17, 14, 30)
    new_time = specific_time + timedelta(hours=5, minutes=30)
    print("5시간 30분 후의 시간:", new_time)

    3.3 특정 기간이 지난 후의 비교

    expiration_date = datetime(2024, 3, 1)
    current_date = datetime.now()
    
    if current_date > expiration_date:
        print("기한이 지났습니다.")
    else:
        remaining_days = (expiration_date - current_date).days
        print(f"남은 기간: {remaining_days}일")

    4. 마무리

    datetime 모듈의 datetime 클래스와 timedelta 클래스를 활용하면 날짜와 시간 데이터를 손쉽게 처리할 수 있습니다. 날짜 연산과 변환을 효율적으로 수행하면 다양한 프로그램에서 활용할 수 있으며, 특히 일정 관리, 로그 기록, 시간 기반 자동화 작업 등에 유용합니다.

    728x90

    'python 기초' 카테고리의 다른 글

    pd crosstab 사용  (0) 2024.10.20
    pandas dataframe index, column 가져오고 변경하기  (1) 2024.08.27
    sklearn standard scaler  (0) 2024.08.27
    pandas read_csv sep 옵션  (0) 2024.08.25
    pandas dadtaframe 수치형 / 범주형 분리  (0) 2024.08.24
Designed by Tistory.