CodeGym /자바 코스 /Python SELF KO /보고서와 로그 작성을 위한 날짜 및 시간 포맷팅

보고서와 로그 작성을 위한 날짜 및 시간 포맷팅

Python SELF KO
레벨 39 , 레슨 2
사용 가능

1. 날짜 및 시간 포맷팅

Python에서 날짜와 시간 작업에 대한 세 번째 강의에 오신 것을 환영합니다! 오늘은 매우 중요한 주제를 다룰 건데요. 보고서와 로그를 기능적으로 뿐만 아니라 시각적으로도 아름답게 만드는 방법 – 바로 날짜 및 시간 포맷팅입니다. 코드든 보고서든 깔끔하게 만드는 것이 중요하죠!

보고서에서 날짜가 왜 그렇게 헷갈리게 보이는지 궁금했던 적 있나요? ISO 8601 표준 형식을 사용해서 동료들을 감동시킬지, 아니면 익숙한 형식을 계속 사용할지 선택하기 정말 어렵죠? Python을 사용해서 날짜와 시간을 멋지게 포맷팅하는 방법을 알아봅시다.

Python 세계에는 strftime()이라는 멋진 메서드가 있어요. 이 메서드는 datetime 객체를 문자열로 변환하면서 원하는 대로 포맷팅할 수 있습니다. 기본 문법부터 시작해서 몇 가지 포맷팅 예시를 살펴보겠습니다.

Python

from datetime import datetime

# 현재 날짜와 시간을 얻기
now = datetime.now()

# 현재 날짜와 시간을 가독성 있는 문자열로 포맷팅
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("현재 날짜와 시간:", formatted_date)

자주 사용하는 포맷 코드:

  • %Y: 연도 (예: 2023)
  • %m: 월 (숫자, 예: 01은 1월)
  • %d: 일 (숫자, 예: 01은 1일)
  • %H: 시간 (24시간 형식)
  • %M: 분
  • %S: 초

이제 날짜와 시간을 변환할 수 있다면, 어떤 포맷이 우리의 용도에 적합한지 선택해볼까요? 프로그래밍 세계에서는, 날짜의 포맷을 모르고 한참을 고민하다 보면 책 한 권 쓸 만큼의 내용이 나올 수 있어요.

로그와 보고서를 위한 포맷팅 예제

포맷팅은 단순히 예쁘게 만드는 것 그 이상이에요. 정보를 다른 사람들에게 전달하기 쉽게 만드는 것이죠. 포맷팅의 활용 예는 아래와 같이 다양합니다:

  1. 파일 로그:

    스크립트가 이벤트를 로그 파일에 저장한다면, 주로 이벤트 발생 시간을 기록해야 해요. 이는 스크립트의 작업 과정을 추적하거나 디버깅을 쉽게 해줍니다.

    Python
    
    log_time = now.strftime("%Y-%m-%d %H:%M:%S")
    log_entry = f"[{log_time}] 이벤트: 스크립트 실행 시작."
    print(log_entry)
    
  2. 보고서 및 문서:

    PDF나 Excel 리포트를 생성할 때, 머리말이나 바닥글에 포맷팅된 날짜를 추가하면 매우 유용할 수 있어요.

    Python
    
    report_date = now.strftime("%d.%m.%Y")
    print(f"리포트 생성 날짜: {report_date}")
    

포맷팅의 유연성

포맷 코드를 조합하여 원하는 거의 모든 형식을 생성할 수 있어요.

예를 들어, 클래식 영화에서 영감을 얻어 상사분을 감동시키려는 포맷이 필요하다면:

Python

vintage_format = now.strftime("%A, %B %d, %Y at %I:%M %p")
print("클래식 스타일 날짜:", vintage_format)

여기서 %A, %B, %I, %p 코드는 각각 요일 이름, 월 이름, 12시간 형식의 시간, 그리고 AM/PM을 출력하는 데 사용됩니다. 가끔은 클래식한 스타일이 가장 현대적인 보고서를 더 흥미롭게 만들어줍니다!

자주 하는 실수와 피하는 방법

포맷팅을 할 때 자주 발생하는 실수 중 하나는 포맷 코드의 잘못된 사용입니다. 예를 들어, mM을 잘못 사용하여 분과 월이 뒤섞이는 상황이 생길 수 있어요. 이런 실수는 때때로 큰 웃음을 줄 수도 있답니다.

의문이 생기시면 Python 공식 문서 strftime() 및 strptime()를 참고해보세요.

포맷팅의 실제 응용

웹사이트에서 매 시간마다 데이터를 수집하는 스크립트를 작성한다고 상상해보세요. 모든 데이터를 CSV에 저장하되, 각 파일에는 데이터를 수집한 날짜와 시간을 이름으로 지정합니다. 이런 경우를 다음과 같이 구현할 수 있습니다:

Python

import os

def save_data(data):
    file_time = datetime.now().strftime("%Y%m%d_%H%M%S")
    file_name = f"data_{file_time}.csv"
    # 여기서 os 대신 여러분의 데이터를 저장하는 비즈니스 로직을 추가하세요
    print(f"파일에 저장된 데이터: {file_name}")

# 더미 데이터로 함수 호출
dummy_data = "여러 유용한 정보"
save_data(dummy_data)

파일 이름에 날짜를 포함시키면 데이터를 정리하거나 필요할 때 찾기 쉬워져요.

날짜 및 시간 포맷팅은 하나의 기술로 자동화 세계의 여러 문을 열어줍니다. 스크립트는 더 정확하고, 보고서는 더 명확하며, 무엇보다도 시각적으로 즐거움을 선사하죠. 단순한 포맷팅이 생각보다 큰 기쁨을 줄 수 있다는 사실, 놀랍지 않나요?

오늘 강의는 여기서 마칩니다. 다양한 포맷으로 실습하여 여러분만의 독창적인 보고서와 로그를 만들어보세요. 다음 강의에서는 시간 간격과 이를 통해 시간 기반 작업을 자동화하는 법을 탐구할 예정입니다. 그럼 다음 시간에 만나요!

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION