날짜/시간이 지정된 범위 내에 있는지 테스트할 수 있는 도구가 있습니까?

날짜/시간이 지정된 범위 내에 있는지 테스트할 수 있는 도구가 있습니까?

date"현재"(예: 출력)가 지정된 범위 내에 있는지 테스트하는 스크립트를 개발해야 합니다 . 현재 범위는 한 달의 날짜 목록이어야 합니다(예 10,11,12,13,21,22,23: ). 코드를 직접 작성할 수 있습니다.

그러나 나는 직접 코딩하는 것보다 기존 도구를 사용하는 것을 선호합니다. 범위 요구 사항은 계속 변경될 것으로 예상되며, 아마도 하루 중 특정 시간으로 제한될 가능성이 높습니다. 어쩌면 특정 요일에도 그럴 수도 있습니다. 그래서 우리 모두가 알고 있는 cron 구문을 생각해 봤습니다.

질문:주어진 날짜시간이 cron 구문 등의 범위 "내부"에 있는지 확인할 수 있는 도구가 있습니까? (cron 구문을 사용하지 않는 도구도 작동합니다.)

답변1

한 가지 가능한 접근 방식은 1970년 1월 1일 00:00 이후의 초 수인 에포크 시간을 사용하는 것입니다.

먼저 현재 날짜와 시간을 생성합니다.

CDATE=$(date +%s)

그런 다음 두 개의 다른 날짜를 생성합니다.

F1DATE=$(date -d "11:02 Feb 14 1999" +%s)
F2DATE=$(date -d "12:20 Feb 14 2024" +%s)

그런 다음 와 사이에 CDATE있는지 비교하십시오 .F1DATEF2DATE

if [ "$CDATE -gt "$F1DATE" ] && [ "$CDATE" -lt "$F2DATE" ]
then # do the job
fi

관련 정보