[Python] Datetime, String, 날짜, 문자, 변환 방법, 차이 계산
2019. 12. 23. 19:15ㆍ카테고리 없음
python에서 날짜를 Datetime 시계열과 문자열 String 으로 변환하는 방법
datetime.datetime.strptime(문자열날짜, 시계열 형식).date()
version_list는 [시간정보, url]로 이루어져 있음.
코드
from datetime import datetime
for each_datetime, each_url in version_list:
print("===> each_datetime : ", type(each_datetime), each_datetime)
print("===> each_url : ", type(each_url), each_url)
그냥 출력하면 아래와 같이 문자열로 나옴.
===> each_datetime : <class 'str'> 2019-09-15T23:32:11Z
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=7
===> each_datetime : <class 'str'> 2019-08-30T00:00:42Z
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=6
===> each_datetime : <class 'str'> 2016-04-30T03:03:03Z
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=5
===> each_datetime : <class 'str'> 2015-03-15T23:24:18Z
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=4
===> each_datetime : <class 'str'> 2015-02-05T02:30:04Z
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=3
===> each_datetime : <class 'str'> 2014-10-31T06:39:26Z
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=2
===> each_datetime : <class 'str'> 2014-09-29T07:24:56Z
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=1
여기에 datetime.strptime()함수를 추가
- %Y : 4자리 수 년도 / %y : 2자리 수 년도
- %m : 2자리수 월 / %b : 월 영어로(jan, Feb,...)
- %d : 2자리 일 / %a : 요일 영어로(Sun, Mon, ...)
- %H : 24시간제 2자리 시간 / %I : 12시간제 2자리 시간
- %M : 2자리 분
- %S : 자리 초
for each_datetime, each_url in version_list:
each_datetime = each_datetime.translate({ord('T'):' ', ord('Z'):''})
each_datetime = datetime.strptime(each_datetime, '%Y-%m-%d %H:%M:%S')
print("===> each_datetime : ", type(each_datetime), each_datetime)
print("===> each_url : ", type(each_url), each_url)
===> each_datetime : <class 'datetime.datetime'> 2019-09-15 23:32:11
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=7
===> each_datetime : <class 'datetime.datetime'> 2019-08-30 00:00:42
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=6
===> each_datetime : <class 'datetime.datetime'> 2016-04-30 03:03:03
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=5
===> each_datetime : <class 'datetime.datetime'> 2015-03-15 23:24:18
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=4
===> each_datetime : <class 'datetime.datetime'> 2015-02-05 02:30:04
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=3
===> each_datetime : <class 'datetime.datetime'> 2014-10-31 06:39:26
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=2
===> each_datetime : <class 'datetime.datetime'> 2014-09-29 07:24:56
===> each_url : <class 'str'> /%EC%9B%B9_%ED%91%9C%EC%A4%80?rev=1
문자열에서 시계열로 바뀐 것을 확인
데이터 포맷 형식은 아래를 링크 참고
- https://docs.python.org/ko/3/library/datetime.html#strftime-strptime-behavior
datetime — 기본 날짜와 시간 형 — Python 3.8.1 문서
datetime — 기본 날짜와 시간 형 소스 코드: Lib/datetime.py datetime 모듈은 날짜와 시간을 조작하는 클래스를 제공합니다. 날짜와 시간 산술이 지원되지만, 구현의 초점은 출력 포매팅과 조작을 위한 효율적인 어트리뷰트 추출입니다. 더 보기 모듈 calendar일반 달력 관련 함수들. 모듈 time시간 액세스와 변환. 패키지 dateutil시간대와 구문 분석 지원이 확장된 제삼자 라이브러리. 어웨어와 나이브 객체 날짜와 시간 객체는
docs.python.org
---
days : 날짜 수를 반환
datetime 오브젝트에 days를 붙이면 날 수를 반환함. 해당 날짜로 조건문 사용 가능
days_gap = recent_version - each_datetime
if days_gap.days > 20:
print(" 20일 이상 차이남")