파이썬 datetime모듈에는 timedelta라는 기능이 있다
delta는 "차이"라는 뜻으로, 날짜와 시간에대한 차이를 제공하여 연산을 돕는 기능을 하기때문에 지어진 이름같다.
사용법
원하는 datetime object에다가 산술연산
예시)
today = datetime.today()
print(today)
결과 : 2022-12-20 15:55 ~~~
yesterday = today - timedelta(days=1)를 선언한 후
print(yesterday)
결과:2022-12-19 15:55~~~
이런식으로 정확히 today에서 day만 19로 바꾼값을 출력해주게 된다.
+를 활용하면 2022-12-21 15:55~~~ 이런식으로 내일의 값을 출력해준다.
parameter는 다음과 같다.
days=
seconds=
microseconds=.
milliseconds=
minutes=
hours=
weeks=
이제 코드를 보자
내 프로그램에는 주식 장이 열린마지막 2일의 날짜가 저장된 변수가 필요하다.
단순히 어제와 그제를 넣어도 된다면 참 좋겠지만, 주식장은 주말에는 열리지 않는다
화요일인 오늘 프로그램을 실행하면 월요일과 지난 금요일의 날짜가 변수에 저장되어야한다.
그래서 요일을 나타내는 weekday()를 사용하여 주중의 날짜를 얻었다.
weekday() 는 오늘의 요일을 숫자로 반환해주는 기능을 갖고있다.
월요일부터 일요일까지 0~6의 숫자가 반환된다.
날짜.weekday()가 5 혹은 6이 나올경우 주말이라는 뜻이니,
while loop를 활용해서 4가 나올때까지 하루씩 빼주는 방식을 사용하여
last_weekday에는 마지막 장날, day_before_lw에는 그전 마지막 장날을 저장했다
.
성공적으로 월요일과 금요일의 정보가 출력되었다.
내가필요한것은 날짜뿐이므로, 그뒤의 시각을 제거해주는 과정을 거쳤다.
:
1.datetime object를 string타입으로 번경
2.공백 split을 이용해 [날짜, 시각]이 저장된 리스트를 만듦
3.만들어진 list의 0번째 요소(날짜)만을 변수에 저장
출력결과
이상이다
읽어주셔서 감사합니다.
+쓰면서 알게된 사실)
date()를 사용하면 2022-12-20 형식으로 날짜만을 얻을 수있다.
today = datetime.today().date()
그래서 내코드에선 lw_key 와 dblw_key항목은 그냥 삭제했다.
테슬라의 어제 마감가와 그제 마감가를 얻는데 성공했다.
'it공부 (개념)' 카테고리의 다른 글
python내가 버그를 공부 하는 방식 (0) | 2022.12.28 |
---|---|
아주 쉽게 이해하는 환경변수, window에서 환경변수 설정 및 python에서 사용하기 (0) | 2022.12.24 |
파이썬으로 블랙잭게임 만들기 후기 (0) | 2022.12.07 |
Java println과 print의 차이.feat 별찍기, 유데미 진도율 (0) | 2022.11.27 |
자바공부 근황, 유데미 강의 Flex (0) | 2022.11.26 |