4차 가상 영업일
2429 단어 perlpythontheweeklychallenge
주간 도전 178
Challenge , My solutions
작업 1: 4차 가상 기지
일
주어진 숫자(밑 10)를 quater-imaginary base number으로 또는 그 반대로 변환하는 스크립트를 작성하십시오.
내 솔루션
이 작업을 위해 저는 챌린지의 전반부만 수행하기로 했습니다. 즉, 10진법 숫자를 취하여 -4진법 숫자로 변환하는 것입니다. 일반적인 원칙은 숫자를 가져와서 -4로 나누는 것입니다. 여기서 나머지는 솔루션을 구성합니다. 나눗셈 결과가 음수일 때 몇 가지 문제가 있었지만 해결되었다고 생각합니다.
예
$ ./ch-1.py 4
10300
$ ./ch-1.py 15
10103
작업 2: 영업일
일
$timestamp
(날짜와 시간) 및 $duration
가 시간 단위로 제공됩니다.$duration
이후 $timestamp
업무 시간 이후에 발생하는 시간을 찾는 스크립트를 작성하십시오. 이 작업을 위해 작업 시간은 월요일부터 금요일까지 오전 9시부터 오후 6시까지라고 가정합니다. 시간대도 무시하십시오.내 솔루션
시간 계산은 결코 쉬운 일이 아닙니다. 적어도 시간대에 대해 걱정할 필요는 없지만 대부분의(모든?) 국가가 업무 시간 외에 시계를 변경하기 때문에 실제로 문제가 되지는 않습니다. 예외는 2011년 12월 30일 금요일에 skipped a whole day 사모아(나중에 토켈라우)가 될 것입니다.
이 작업을 처리하는 방법에는 몇 가지가 있으며 가장 큰 과제는 주말을 포함하는 범위를 처리하는 것입니다. 내 솔루션이 너무 복잡했을 수 있습니다. 다른 Team PWC 구성원이 어떻게 생각하는지 봅시다.
strptime으로 시간 입력을 변환하는 것으로 시작합니다. Python의 경우 이것은 datetime 모듈의 일부이고 Perl의 경우 DateTime 모듈입니다. 또한 제공된 시간을 분으로 변환합니다. 또한 시작 시간이 평일 오전 9시에서 오후 6시 사이인지 확인합니다.
다음으로 시계를 월요일 오전 9시로 되돌립니다.
minutes
변수(일 x 540, 오전 9시 이후 시간 x 60 및 분)에 다시 시계를 감은 작업 시간(분)을 추가합니다. 이제 월요일 오전 9시 이후 몇 분을 추가해야 하는지 알 수 있습니다. 나는 이것을 days
와 minutes
로 나누었습니다.5일마다 주말에 2일을 추가해야 합니다. 마지막으로 월요일 오전 9시를 기준으로 날짜 계산을 사용하고 종료 시간을 찾기 위해 필요한 일수와 분을 더합니다.
예
$ ./ch-2.py "2022-08-01 10:30" 4
2022-08-01 14:30
$ ./ch-2.py "2022-08-01 17:00" 3.5
2022-08-02 11:30
Reference
이 문제에 관하여(4차 가상 영업일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/simongreennet/quater-imaginary-business-date-58ln텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)