[2021.08.13] 인턴 +165 How to subtract -10 minutes from the current time by July 1, 2021 Using Python?(infinite loop)
이번 게시글은 현재 시간으로부터 무한 루프를 통하여, 2021년 7월 1일까지 10분씩 빼는 방법에 대해 알아보도록 하겠다.
이것을 구현하게 된 이유는 피코 홈에서 시리얼 넘버를 입력하고 fromdate와 todate를 입력해줘야 하는데
저번 게시글에선 현재시간으로 부터 계속 업데이트하여 지속적으로 db에 올리는 코드를 구현했다.
그렇기 때문에, 이번에는 현재시간으로 부터 -10분씩, 즉 무한루프를 사용하여, 2021년 7월 1일부터 ~ 현재시간을 -10분씩 하여 업데이트해주기 위해 구현할 것이다.
정확한 코드
import datetime
def before_10minute_time(current_time):
current_time_minute10 = current_time - datetime.timedelta(minutes= 10)
print("Subtract 10 minutes from the current time : " + str(current_time_minute10.strftime('%Y%m%d%H%M%S')))
return current_time_minute10
if __name__ == "__main__":
current_time = datetime.datetime.today()
while True:
current_time = before_10minute_time(current_time)
if_break = current_time.strftime('%Y%m%d')
if "20210701" in if_break:
break
<출력 결과>
-> 에러 없이 정상적으로 출력된 것을 볼 수 있다.
* 꼭 while,for문 안에 break를 걸어줘야 정상적으로 작동한다.
또한, if_break = current_time.strftime('%Y%m%d') 으로 해줘야 한다.
-----------------------------------------------------------------------------------------------------------------------------------
다른 방식의 코드(제대로 작동함)
import datetime
def before_10minute_time(current_time):
current_time_minute10 = current_time - datetime.timedelta(minutes= 10)
print("Subtract 10 minutes from the current time : " + current_time_minute10.strftime('%Y%m%d%H%M%S'))
return current_time_minute10
if __name__ == "__main__":
current_time = datetime.datetime.today()
stop_date = datetime.date(year=2021, month=7, day=1) # 종료해주기 위해 추가함
while True:
current_time = before_10minute_time(current_time)
#print(current_time.date())# 2021-07-01
#print(stop_date) # 2021-07-01
if current_time.date() == stop_date:
break
<출력 결과>
-> 이 코드는 datetime.date(year=2021, month =7,day=1)를 이용하여, 종료 날짜를 지정해 줄 수 있다.
내가 날짜를 종료한 방식은 "20210701" 와 동일
* 그런다음에 18번 19번 주석으로 된 것을 보면
print(current_time.date())# 2021-07-01
print(stop_date) # 2021-07-01
datetime.date()로 출력을 하게 되면, 년-월-일 식으로 둘다 똑같이 나오는 것을 알 수 있다.
이것으로 if 문을 통해 같다면 break를 걸어 종료할 수 있다.
'Etc' 카테고리의 다른 글
[2021.09.28] How to Commit Repository Using GitHub Desktop? (0) | 2021.09.28 |
---|---|
[2021.08.17] 인턴 6개월을 하면서 느낀점 (0) | 2021.08.17 |
[2021.08.10] YYYYMMDDHHMMSS format Using Python? (0) | 2021.08.10 |
[2021.08.10] 인턴 하면서 실무 작업을 위해 구현 한 것들(Python) (0) | 2021.08.10 |
[2021.08.10] How do I transfer files from window(PC) to putty Using WinSCP? (0) | 2021.08.10 |
댓글