Python/Python Programming

[ Python ] 날짜형식의 문자열 타입을 datetime 타입 형식으로 변환

Pydole 2023. 5. 3. 14:55

 

Database, logs 등 날짜형식 데이터를 Python으로 불러와서 처리할 때, 문자열로 저장되게 된다.

 

Python에서 날짜 데이터를 이용하여 그래프를 그리거나 연산을 하기 위해서는 형 변환이 필요하다.

 


 

datime.datetime.strptime : date 문자열을 datetime 형식으로 변환

 

 

from datetime import datetime

strtype = '2018-09-15 00:01:14'
print(type(strtype))

logdate = datetime.strptime(strtype, '%Y-%m-%d %H:%M:%S')
print(type(logdate))
print(logdate)


-------------------------------------------------------------------------------
<class 'str'> 
<class 'datetime.datetime'> 
2018-09-15 00:01:14

 

 

 

list comprehension 을 이용한 일괄 변경

 

from datetime import datetime

dates = ['2018-09-15 00:01:14','2018-09-16 00:01:14','2018-09-17 00:01:14','2018-09-18 00:01:14','2018-09-19 00:01:14',
         '2018-09-20 00:01:14','2018-09-21 00:01:14','2018-09-22 00:01:14','2018-09-23 00:01:14']

dates = [ datetime.strptime(x, '%Y-%m-%d %H:%M:%S') for x in dates ]



[datetime.datetime(2018, 9, 15, 0, 1, 14),
 datetime.datetime(2018, 9, 16, 0, 1, 14),
 datetime.datetime(2018, 9, 17, 0, 1, 14),
 datetime.datetime(2018, 9, 18, 0, 1, 14),
 datetime.datetime(2018, 9, 19, 0, 1, 14),
 datetime.datetime(2018, 9, 20, 0, 1, 14),
 datetime.datetime(2018, 9, 21, 0, 1, 14),
 datetime.datetime(2018, 9, 22, 0, 1, 14),
 datetime.datetime(2018, 9, 23, 0, 1, 14)]

 

 

 

비교 연산자를 이용하여 날짜 비교

 

datetime.today() > logdate
--------------------------------------
True


datetime.today() < logdate
--------------------------------------
False

 

 

 

과거와 미래날짜 구하기

 

from datetime import timedelta


# 전일 날짜 구하기
logdate - timedelta(days=1) 
------------------------------------
2018-09-14 00:01:14


# 10일후 날짜 구하기
logdate + timedelta(days=10)
------------------------------------
2018-09-25 00:01:14

 

 


 

Document

 

https://docs.python.org/3/library/datetime.html?highlight=strptime#datetime.datetime.strptime 

 

datetime — Basic date and time types

Source code: Lib/datetime.py The datetime module supplies classes for manipulating dates and times. While date and time arithmetic is supported, the focus of the implementation is on efficient attr...

docs.python.org