728x90
[Python] Datetime
파이썬을 사용하여 데이터 분석을 하면 날짜&시간 데이터를 처리해야 하는 경우가 많다.
파이썬의 Datetime 모듈을 사용하면 날짜 및 시간을 생성, 조작 및 비교가 가능하다.
Datetime 모듈의 간단한 사용법은 다음과 같다.
우선 datetime 모듈을 사용하기위해 import 해준다.
from datetime import datetime, timedelta
1. 날짜와 시간 생성하기
- datetime 클래스를 사용하여 현재 날짜와 시간을 가져온다.
now = datetime.now()
print(now)
#2023-07-05 17:32:25.476787
- 날짜와 시간을 생성한다.
date = datetime.date(2023, 7, 5)
print(date)
#2023-07-05
time = datetime.time(12, 30)
print(time)
#12:30:00
- timedelta 클래스를 사용하여 시간 간격을 생성한다.
delta = timedelta(days=1)
print(delta)
#1 day, 0:00:00
🔎timedelta
시간 간격을 나타내는 클래스
timedelta(days, hours, minutes, seconds, microseconds) 를 사용하여 시간 간격을 생성할 수 있다.
이를 통해 날짜와 시간에 대한 산술 연산을 수행할 수 있다.
2. 타입 변경하기
🔎strftime()
날짜 및 시간 객체를 원하는 형식의 문자열로 변환 하는 함수
아래와 같은 서식을 사용하여 형식을 지정할 수 있다.
서식 | 설명 | 예시 |
%Y | 4자리 연도를 나타내는 숫자 | 2023 |
%y | 2자리 연도를 나타내는 숫자 | 23 |
%m | 2자리 월을 나타내는 숫자 (01부터 12) | 07 |
%B | 월의 전체 이름 | July |
%b 또는 %h | 월의 축약된 이름 | Jul |
%d | 2자리 일을 나타내는 숫자 (01부터 31) | 04 |
%A | 요일의 전체 이름 | Sunday |
%a | 요일의 축약된 이름 | Sun |
%H | 24시간 형식의 시간 (00부터 23) | 12 |
%I | 12시간 형식의 시간 (01부터 12) | 12 |
%p | 오전/오후 표시 (AM 또는 PM) | PM |
%M | 2자리 분을 나타내는 숫자 (00부터 59) | 30 |
%S | 2자리 초를 나타내는 숫자 (00부터 59) | 00 |
예를 들어 %Y-%m-%d 형식은 "연도-월-일"로 변환하고, %H:%M:%S 형식은 "시간:분:초"로 변환한다.
아래는 strftime() 함수를 사용하여 원하는 형식의 타입으로 변환하는 예시다.
- strftime() 함수를 사용하여 날짜 및 시간 객체를 문자열로 변환한다.
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted)
print(type(formatted))
#2023-07-05 17:38:40
#<class 'str'>
- strftime() 함수를 사용하여 문자열을 날짜 및 시간 객체로 변환한다.
parsed = datetime.strptime("2023-07-05", "%Y-%m-%d")
print(parsed)
print(type(parsed))
#2023-07-05 00:00:00
#<class 'datetime.datetime'>
3. 날짜와 시간 연산하기
- 날짜 간의 차이를 계산한다.
date1 = datetime(2023, 7, 5)
date2 = datetime(2023, 6, 30)
delta = date1 - date2
print(delta.days)
#5
- 특정 시간 간격 생성하기
now = datetime.now()
time1 = timedelta(hours=3, minutes=45)
time2 = timedelta(hours=1, minutes=30)
- 시간 간격 더하기
'''현재 시간에서 5시간 15분 후의 날짜와 시간'''
result = now + time1 + time2
print(result)
#2023-07-05 23:03:52.310217
- 시간 간격 빼기
'''현재 시간에서 5시간 15분 이전의 날짜와 시간'''
result = now - time1 - time2
print(result)
#2023-07-05 12:34:53.144770
- 날짜와 시간 비교하기
date1 = datetime(2023, 7, 5, 12, 30)
date2 = datetime(2023, 7, 5, 9, 45)
print(date1 > date2) # True
print(date1 < date2) # False
print(date1 == date2) # False
위와 같이 다양한 방식으로 datetime 모듈을 활용할 수 있다 👍
반응형
'👩💻 Develope > Python' 카테고리의 다른 글
[Flask] form 값 받기 (request) (0) | 2023.07.14 |
---|---|
[Python] OS (0) | 2023.07.06 |
[Python] 시간 지난 파일 자동 삭제 (0) | 2023.06.30 |
[Python] re 모듈 사용법 (0) | 2023.06.14 |
[Python] 예외 처리 (try, exept, else, finally) (0) | 2023.06.13 |