>  Q&A  >  본문

일광 절약 시간 조정 중 날짜 차이(교대 계산에 사용되는 기능)를 계산하는 방법은 무엇입니까?

특정 날짜에 어느 교대가 근무하는지 확인하는 다음 기능이 있습니다.

으아악

다음과 같이 호출됩니다.

으아악

일광 절약 시간이 적용되지 않는 두 날짜를 사용하면 제대로 작동하는 것 같습니다. 예를 들어 2023년 3월 14일과 2023년 6월 22일은 1(올바른)을 반환합니다. 그러나 3/10/23 및 6/22/23과 같이 일광 절약 시간이 적용되는 날짜를 포괄하는 경우 잘못된 교대조인 4를 반환합니다.

일광 절약 시간을 걱정하지 않고 작동하게 하려면 어떻게 해야 하나요?

P粉919464207P粉919464207370일 전473

모든 응답(1)나는 대답할 것이다

  • P粉323224129

    P粉3232241292023-09-16 12:53:26

    이는 "일 수"가 아닌 하루의 초 수를 기준으로 계산하기 때문입니다. 전부는 아니지만 대부분의 시간대에서 시간이 약간 이동하여 경계를 넘어 전환율이 변경될 것이라고 장담합니다. 또한 @aaronfc의 시간대는 이와 같이 작동하지 않거나 그의 기본 시간대가 UTC 또는 기타 정적 오프셋으로 설정되어 있을 것이라고 확신합니다.

    DateTime 라이브러리는 다음을 안정적으로 계산할 수 있습니다.

    으아아아

    출력:

    으아아아

    또한 함수가 임의의 문자열을 디코딩하는 방법을 알 필요가 없도록 함수 밖으로 이동explode(',', $sequence)하는 것이 좋습니다.

    회신하다
    0
  • 취소회신하다