/ PROGRAMING, PYTHON

날짜시간(datetime)

날짜 & 시간 데이터 (datatime)

파이썬에서 날짜 & 시간 데이터를 다루는 방법을 알아보고 실행해 보겠습니다.

참고 블로그 https://www.infoking.site/144

datetime.datetime

now() : 현재 시간을 알 수 있습니다.

from datetime import datetime,timedelta
print(datetime.now())
2023-03-24 00:44:14.470236

상세 출력

NOW = datetime.now()
print(f"년도 : {NOW.year}")
print(f'월 : {NOW.month}')
print(f'일 : {NOW.day}')
print(f'시 : {NOW.hour}')
print(f'분 : {NOW.minute}')
print(f'초 : {NOW.second}')
년도 : 2023
월 : 3
일 : 24
시 : 0
분 : 44
초 : 16

날짜 데이터 형식으로 저장 가능

DAY = datetime(2020,2,25)
print(DAY)
2020-02-25 00:00:00

비교 연산자 사용 가능

print(NOW < DAY)
False

날짜 연산

timedelta 데이터 유형을 사용합니다.

period = timedelta(days=10, hours=5, minutes=5, seconds=10)
print(period.days,period.seconds)
10 18310
print(str(period))
10 days, 5:05:10
day_30 = timedelta(days=30)
print(datetime.now() + day_30)
2023-04-23 00:57:39.108422

날짜를 문자열로 바꾸기

strftime 함수를 사용
링크를 참조하면 포맷 형식 상세 내용을 볼 수 있습니다.

s_day = datetime(2023,3,24,1,0,0,0)
print(s_day.strftime('%Y / %m / %d  %H : %M : %S'))
2023 / 03 / 24  01 : 00 : 00

문자열을 날짜로 바꾸기

strptime 함수를 사용, strftime의 포맷 형식과 같습니다.

print(datetime.strptime('20230123','%Y%m%d'))
2023-01-23 00:00:00

날짜 연산에 년, 월 단위 사용하기

dateutil.relativedelta를 사용

from dateutil.relativedelta import relativedelta

dif_3m = relativedelta(months = 3)
now_3m = datetime.now() - dif_3m

프로세스 일정시간 정지하기

import time

print(1)
time.sleep(10)
print(2)
1
2