본문 바로가기
Python

Python - Workday, 비즈니스(공휴일) 날짜 인지 확인

by 올엠 2021. 12. 8.
반응형

업무일자에만 실행해야 하는 경우 어떻게 만들 수 있을까?

필자의 경우 알람을 개발하는데, 공휴일에 알람이 온다면 알람을 받는 사람도 괴롭고, 실제 알람의 효과도 없을 것으로 이를 개선하기 위해서 비즈니스(업무일자)에만 알람을 전달하는 기능을 개발하기 위해서 추가한 코드를 정리해 보았다.

요약해 보면, Python의 Numpy의 is_busday를 사용하면 쉽게 구현이 가능하다.

코드는 다음과 같다. 

import numpy
import datetime

now = datetime.datetime.utcnow()
now = now + datetime.timedelta(hours=9)
workday = now.today().strftime("%Y-%m-%d")
numpy.is_busday(workday)
True

위와 같이 먼저 한국 기준 시간을 UTC로 부터 만들고,  is_busday 질의를 하면 True라면 WorkDay인 것이다.

if 조건을 통해 원하는 조건에 개발 코드를 추가하면 된다.

 

짜투리...

추가로 새벽시간을 피하고자 한다면 다음 코드로 자신이 원하는 Hour값이 맞는지를 확인하여 처리를 진행하면 된다.

아래 기준으로는 아침 9시부터 오후 8시전에 포함이 되는지를 확인하는 코드이다.

now.hour > 9 and now.hour < 20:

 

반응형

댓글0