특정 날짜에 어느 교대가 근무하는지 확인하는 다음 기능이 있습니다.
으아악다음과 같이 호출됩니다.
으아악일광 절약 시간이 적용되지 않는 두 날짜를 사용하면 제대로 작동하는 것 같습니다. 예를 들어 2023년 3월 14일과 2023년 6월 22일은 1(올바른)을 반환합니다. 그러나 3/10/23 및 6/22/23과 같이 일광 절약 시간이 적용되는 날짜를 포괄하는 경우 잘못된 교대조인 4를 반환합니다.
일광 절약 시간을 걱정하지 않고 작동하게 하려면 어떻게 해야 하나요?
이는 "일 수"가 아닌 하루의 초 수를 기준으로 계산하기 때문입니다. 전부는 아니지만 대부분의 시간대에서 시간이 약간 이동하여 경계를 넘어 전환율이 변경될 것이라고 장담합니다. 또한 @aaronfc의 시간대는 이와 같이 작동하지 않거나 그의 기본 시간대가 UTC 또는 기타 정적 오프셋으로 설정되어 있을 것이라고 확신합니다.
DateTime 라이브러리는 다음을 안정적으로 계산할 수 있습니다.
으아아아출력:
으아아아또한 함수가 임의의 문자열을 디코딩하는 방법을 알 필요가 없도록 함수 밖으로 이동
explode(',', $sequence)
하는 것이 좋습니다.