본문 바로가기
2022-3/project(RDA, Expert)

[Expert] mongoDB 필드에 수집기간 넣기(시간 측정 python)

by 이망고_ 2022. 10. 13.

https://www.naragara.com/%ED%8C%8C%EC%9D%B4%EC%8D%AC-python-%EB%82%A0%EC%A7%9C-%EB%B0%8F-%EC%8B%9C%EA%B0%84-%ED%91%9C%EA%B8%B0%EB%B2%95-%EB%82%A0%EC%A7%9C-%EC%8B%9C%EA%B0%84-%EA%B3%84%EC%82%B0-%EB%B0%A9%EB%B2%95-%EC%B4%9D/ 측정된 시간에 대한 기본적인 것뿐만 아니라 그 외의 활용도 정말 잘 정리되어 있네요.. 진짜 꿀 도움이었씁니다.

우선 저는 데이터가 하나하나씩 출력되기 전, 

 

0 .import datetime

을 넣어주어서 시간이 측정되도록 하였습니다.

그랬더니 연월일 시간 분 초 마이크로 세크까지 출력이 되었씁니다.

 

목표가 수집 기간 6개월 이상이 되면, 돌도록 하는 것이기에 날짜만 출력하도록 하였습니다.

1. 연-월-일 출력되게 함

datetime.datetime.now().date()

 

.date() 

해주면 됩니다. 

 

2. 에러가 나왔습니다.

반복문 돌기 전엔 괜찮았는데, update_one 부분에서 출력되도록 하니 이러한 에러가 뜸

cannot encode object: datetime.date(2022, 10, 13), of type: <class 'datetime.date'>

 

type 에러다?

그래서 위에 참고한 블로그를 자세히 보니 타입 변환이 있었습니다. class 'datetime.date' -> str 만들어주면 되나? 해서

t1 = t0.strftime(dateformat)

해주니 연월일만 필드에 잘 들어가 생성이 되었씁니다.

 

 

재밌네요..

t0 = datetime.datetime.now().date() 
dateformat = "%Y-%m-%d"
t1 = t0.strftime(dateformat)
print(type(t1))