Python datetime 패키지- 날짜와 시간을 효과적으로 다루는 방법
파이썬에서 날짜와 시간을 다뤄보고자 한다. 파이썬은 datetime 패키지를 제공한다. datetime 패키지를 사용할 때 필수적으로 파악해야 할 사항을 정리한다.
1. 모듈 불러오기
먼저 datetime 모듈을 불러와야 한다. 아래와 같이 간단하게 import 할 수 있다.
1 | import datetime |
2. 현재 날짜와 시간 얻기
현재의 날짜와 시간을 얻으려면 datetime 모듈의 now()와 today() 메서드를 사용하면 된다.
1 | now = datetime.datetime.now() # 현재 날짜와 시간 |
3. 날짜와 시간 객체 생성
특정 날짜와 시간의 객체를 생성할 수 있다. 아래의 예를 참고하자.
1 | dt = datetime.datetime(2023, 8, 8, 12, 30) # 특정 날짜와 시간 |
4. 날짜와 시간 포맷팅
strftime 메서드를 사용하여 날짜와 시간을 문자열로 포맷할 수 있다. 예를 들어:
1 | formatted = now.strftime("%Y-%m-%d %H:%M:%S") # 날짜와 시간을 문자열로 포맷 |
5. 문자열을 날짜로 변환
문자열을 날짜 객체로 변환할 때는 strptime 메서드를 사용한다.
1 | dt_from_string = datetime.datetime.strptime("2023-08-08", "%Y-%m-%d") # 문자열을 날짜로 변환 |
6. 시간 차이 계산
timedelta 클래스를 사용하여 두 날짜 사이의 차이를 계산할 수 있다.
1 | delta = datetime.timedelta(days=5) # 시간 차이 객체 생성 |
7. 시간대 처리
시간대를 다루기 위해 pytz 라이브러리를 사용할 수 있다. 예를 들어 서울 기준 시간대를 다음과 같이 설정할 수 있다.
1 | import pytz |
8. datetime 객체의 주요 프로퍼티
datetime 객체는 다음과 같은 주요 프로퍼티를 가지고 있다:
- year: 연도
- month: 월
- day: 일
- hour: 시
- minute: 분
- second: 초
- microsecond: 마이크로초
- tzinfo: 시간대 정보
프로퍼티의 범위
- year: 1부터 9999까지
- month: 1부터 12까지
- day: 1부터 해당 월의 마지막 날까지 (예: 2월은 28일 또는 29일)
- hour: 0부터 23까지
- minute: 0부터 59까지
- second: 0부터 59까지
- microsecond: 0부터 999999까지
범위 체크 방법
각 프로퍼티의 값이 유효한 범위 내에 있는지 체크하는 간단한 방법으로, 생성할 때 예외 사항이 발생하는지를 판단하면 된다.
1 | def is_valid_date(year, month, day): |
위의 함수는 주어진 연도, 월, 일이 유효한 날짜인지 판단하는 데 사용할 수 있다.
마무리
이처럼 datetime 패키지는 날짜와 시간을 다루는 데 매우 유용한 도구이다. 위의 기본적인 사용법을 숙지하고 나면, 다양한 상황에서 날짜와 시간을 효과적으로 관리할 수 있을 것이다.
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.