설명
날짜 및 시간 조작 모듈
메서드 → 객체
datetime.datetime() → datetime객체
•
클래스
•
년, 월, 일, 시간, 분, 초, 마이크로 초 등을 포함하는 datetime 객체 생성
import datetime
now - datetime.datetime.now()
Python
복사
.strptime
•
문자열로 된 날짜 및 시간을 datetime 객체로 변환
•
datetime.strptime(date_string, format)
◦
date_string : 변환 날짜와 시간 정보 포함 문자열
◦
format : date_string 포맷 지정
import datetime
# 문자열로 된 날짜를 datetime 객체로 변환
date_string = "2024-07-07 07:07:07"
dt = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
# datetime 객체를 다른 포맷으로 변환하여 출력
print("변환된 datetime 객체 (다른 포맷):", dt.strftime("%Y년 %m월 %d일 %H시 %M분 %S초"))
Python
복사
.date
•
날짜 정보 추출에 사용
•
시간 정보를 제외한 date 객체를 반환
import datetime
# 현재 날짜와 시간
now = datetime.datetime.now()
# datetime 객체에서 날짜 정보 추출
date = now.date()
print("datetime 객체에서 추출된 date 객체 : ", date)
Python
복사
.time
•
시간 정보 추출에 사용
•
날짜 정보를 제외한 time 객체를 반환
import datetime
# 현재 날짜와 시간
now = datetime.datetime.now()
# datetime 객체에서 날짜 정보 추출
date = now.time()
print("datetime 객체에서 추출된 time 객체 : ", time)
Python
복사
.replace
•
datetime 객체의 속성을 변경하여 새로운 datetime 객체 반환
•
인자
◦
year
◦
month
◦
day
◦
hour
◦
minute
◦
second
◦
microsecond
◦
tzinfo : 시간대 정보 나타내는 객체
◦
fold : datetime 객체가 중복된 시간을 나타내는 경우 fold값이 1
import datetime
# 현재 날짜와 시간
now = datetime.datetime.now()
# datetime 객체의 속성 변경 : replace()
now = now.replace(year=2020, month=1, day=1)
Python
복사
.weekday
•
datetime 객체가 나타내는 요일을 정수로 반환
•
월요일은 0 ~ 일요일은 6
import datetime
# 현재 날짜와 시간
now = datetime.datetime.now()
weekday = now.weekday()
Python
복사
.isoweekday
•
datetime 객체가 나타내는 요일을 정수로 반환
•
ISO 표준 규격 달력 기준
•
월요일은 1 ~ 일요일은 7
import datetime
# 현재 날짜와 시간
now = datetime.datetime.now()
weekday = now.isoweekday()
Python
복사
.timestamp
•
datetime 객체를 “UNIX timestamp”로 변환하는 데 사용
•
1970년 1월 1일 00:00:00 UTC부터 현재까지 경과된 시간을 초 단위로 표현한 값
import datetime
# 현재 날짜와 시간
now = datetime.datetime.now()
# datetime -> timestamp
timestamp = now.timestamp()
# timestamp -> datetime
new_datetime = datetime.datetime.fromtimestamp(timestamp)
Python
복사
.astimezone
•
datetime 객체의 시간대를 변경하는 데 사용
•
tzinfo 객체 사용해서 지정
•
인자
◦
tz : 변경 시간대를 나타내는 tzinfo 객체, None이면 기본 시간대 사용
import datetime
import pytz
# 현재 날짜와 시간
now = datetime.datetime.now()
# datetime 객체의 시간대 변경
kst = pytz.timezone('Asia/Seoul')
new_datetime = now.astimezone(kst)
Python
복사
.timedelta
•
두 날짜 또는 시간 간격 표시
•
timedelta 객체에서 날짜와 시간을 쉽게 조작 가능
•
연산 지원
◦
덧셈 및 뺼셈
◦
정수 곱셈
◦
비교 연산
import datetime
# 현재 날짜와 시간
now = datetime.datetime.now()
# 2시간 뒤 시간 계산
after_2_hours = now + datetime.timedelta(hours=2)
print(after_2_hours)
# 3일 전 날짜 계산
before_3_days = now - datetime.timedelta(days=3)
print(before_3_days)
# 1시간 30분의 시간 간격 계산
time_gap = datetime.timedelta(hours=1, minutes=30)
print(time_gap)
# 객체와 정수의 곱셈 연산
result = time_gap * 2
# 객체 비교
if result > time_gap:
print('result is greater than time_gap')
else:
print('result is less than time_gap')
Python
복사
datetime.date
•
날짜 정보 저장에 사용
•
해당 날짜의 연, 월, 일 정보 보유
•
date(year, month, day)
•
메소드
◦
weekday()
◦
isoweekday()
◦
strftime(format) : 포맷 문자열 변환