반응형
코테에서 자주 나오는 날짜 데이터 관련 문제를
파이썬을 이용하면 간단히 풀 수가 있다.
from datetime import datetime
from datetime import timedelta
today = "2022:11:26:14:08:25"
# 날짜 파싱
today_par = datetime.strptime(today, '%Y:%m:%d:%H:%M:%S')
print(today_par.year) # 2022
print(today_par.month) # 11
...
# 날짜 차이
temp = "2022:11:24:10:08:21"
temp_par = datetime.strptime(temp, '%Y:%m:%d:%H:%M:%S')
print((today_par - temp_par).day) # 날짜 차이, day 형식으로
print(today_par.day - temp_par.day) # 각 일의 개념으로 차이
# 날짜 덧셈
# 날짜 덧셈은 단순 + 로 구현되지 않는다.
td = timedelta(days=int(temp_par.day), hours=int(temp_par.hour), minutes=int(temp_par.miniute), seconds=int(temp_par.second))
print(today + td) # 하나의 날짜를 timedelta로 변환한 뒤에 더해주어야 한다.
# 주의할 점
datetime.strptime(str, '%Y:%m:%d:%H:%M:%S')
# 어쨌든 datetime에 담기는 것이기에, date가 유효하지 않으면 (= 없는날짜면) 담아낼 수 없다.
# 따라서 str이 0000:00:00:00:00:00 이러면 이런 날짜는 없기에 담아낼 수 없다.
# 만약 특정 파싱된 날짜를 더하고 싶으면,
s = '0000:00:00:00:00:00'
li = s.split(':') # li = ['0000', '00', '00', '00', '00', '00']
이렇게 다뤄야 한다.
확실히 파이썬이 코딩테스트에서 유리한 방면이 많은 것 같긴 하다.
반응형
'[Python & Ruby]' 카테고리의 다른 글
파이썬 웹 크롤링 with BeautifulSoup & Requests (1) | 2022.11.28 |
---|---|
Python 크롤링 - 3 / 이마트 크롤링해보기 4 (0) | 2022.11.26 |
Python 파이참 셀레니움 드라이버 설치 / 환경 세팅 (1) | 2022.11.20 |
Python 크롤링 - 3 / 이마트 크롤링해보기 3 (0) | 2022.11.20 |
Python 크롤링 - 3 / 이마트 크롤링해보기 2 (0) | 2022.11.19 |