날짜 범위 및 주어진 시간 제한 내에서 시간 계산

undr

다음과 같은 날짜 범위가 있다고 가정 해 보겠습니다.

2014-01-10 11:00-2014-01-13 15:00

또한 09:00-16:00 사이의 시간 만 계산할 수 있다는 것도 알고 있습니다. PHP로 어떻게이 작업을 수행 할 수 있습니까?

위의 날짜 범위는 25 시간 (5 + 7 + 7 + 6)을 제공해야하지만 그러한 PHP 함수가 어떻게 보이는지 확실하지 않습니다.

undr

나는 지금 해결책을 만들었지 만 하루라도 내 계산에 만족하지 않습니다. 다음은 코드입니다.

$startDate = strtotime("2014-01-22 15:00");
$endDate = strtotime("2014-01-24 18:00");

$time1 = new DateTime(date("H:i", $startDate));
$time2 = new DateTime(date("H:i", $endDate));
$date1 = new DateTime(date("Y-m-d", $startDate));
$date2 = new DateTime(date("Y-m-d", $endDate));

$start = new DateTime("11:00");
$end = new DateTime("18:00");

$maxPerDay = $end->diff($start)->format("%h") != 0 ? $end->diff($start)->format("%h") : 24;
$days = $date2->diff($date1)->format("%a");

$hours = 0; 
//Is it just one day and is time intersecting?
if($days == 0 && ($start <= $time2 && $time1 <= $end)){
    $hours = $maxPerDay;
    if($start < $time1 || $end > $time2){
        if($time1 < $start){
            $hours = $maxPerDay - $time2->diff($end)->format("%h");
        }else if($time2 > $end){
            $hours = $maxPerDay - $time1->diff($start)->format("%h");
        }else{
            $hours = $time1->diff($time2)->format("%h");
        }
    }
}else if($days > 0){
    $firstDay = 0;
    $lastDay = 0;
    if($time1 < $end){
        $firstDay = $time1 < $start ? $maxPerDay : $maxPerDay - $time1->diff($start)->format("%h"); 
    }
    if($time2 > $start){
        $lastDay = $time2 > $end ? $maxPerDay : $maxPerDay - $time2->diff($end)->format("%h");
    }
    $hours = $lastDay + $firstDay + ($days - 1) * $maxPerDay;
}

echo $hours;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

주어진 날짜 시간 범위의 임의 날짜 시간

분류에서Dev

주간 일정에서 날짜 범위 내 예약 된 날짜 수 계산

분류에서Dev

작업 및 휴식 시간 계산을위한 날짜 시간 해석

분류에서Dev

날짜 및 시간, try-catch, 범위를 벗어난 시간에 대한 변수 구문 분석

분류에서Dev

특정 날짜 및 시간 범위에 대한 MySQL 쿼리

분류에서Dev

날짜 시간에 대한 리샘플링 및 평균 계산

분류에서Dev

고유 한 날짜 및 시간 범위 목록에서 datetime 범위 만들기

분류에서Dev

두 날짜 시간 사이의 주어진 시간 프레임에서 시간을 계산하십시오.

분류에서Dev

날짜 및 시간에서 시간 계산

분류에서Dev

날짜 범위 내에서 시간이 몇 번 발생하는지 계산

분류에서Dev

특정 달의 주어진 주 번호에 대한 시작 및 종료 날짜를 각도로 계산

분류에서Dev

PostgreSQL 내에서 주어진 GPS 좌표에 대한 일출 및 일몰 시간 계산

분류에서Dev

SQL 또는 RoR-주어진 시작 날짜 및 빈도에 대한 간격 기간 찾기

분류에서Dev

특정 날짜 범위 내에서 특정 날짜와 시간을 계산하는 방법

분류에서Dev

Excel-시작-종료 날짜 범위에서 고유 한 날짜 계산

분류에서Dev

시작-종료 날짜 및 시간 (UTC)에서 날짜 범위 파악

분류에서Dev

MongoDB 및 PyMongo-주어진 날짜 및 시간에서 문서 검색

분류에서Dev

Pandas-주어진 날짜 범위에 대해 서로 평균 시간 기간 비교

분류에서Dev

r에서 날짜 및 시간 형식으로 소요 된 시간 계산

분류에서Dev

Excel에서 날짜 및 시간 차이 계산

분류에서Dev

주어진 시간 범위 내의 간격에 속하는 모든 'x'를 계산합니까?

분류에서Dev

FullCalendar, 업무 시간 및 날짜 범위

분류에서Dev

현재 날짜 시간에 대한 cpp 주 단위의 초 수를 계산합니다.

분류에서Dev

날짜 계산-일광 절약 시간 (DST) 및 시간대 문제-터키

분류에서Dev

겹치는 날짜 / 시간 범위의 배열에서 날짜 / 시간 범위 제외

분류에서Dev

Python : Pandas에서 주 번호 및 연도에서 한주의 시작 날짜 및 종료 날짜 계산

분류에서Dev

날짜 범위 사이의 각 행에 대한 최소 및 최대 날짜 시간 가져 오기

분류에서Dev

날짜 시간 및 범위에 데이터 프레임 병합

분류에서Dev

날짜 및 시간에 대한 혼합 형식 및 언어

Related 관련 기사

  1. 1

    주어진 날짜 시간 범위의 임의 날짜 시간

  2. 2

    주간 일정에서 날짜 범위 내 예약 된 날짜 수 계산

  3. 3

    작업 및 휴식 시간 계산을위한 날짜 시간 해석

  4. 4

    날짜 및 시간, try-catch, 범위를 벗어난 시간에 대한 변수 구문 분석

  5. 5

    특정 날짜 및 시간 범위에 대한 MySQL 쿼리

  6. 6

    날짜 시간에 대한 리샘플링 및 평균 계산

  7. 7

    고유 한 날짜 및 시간 범위 목록에서 datetime 범위 만들기

  8. 8

    두 날짜 시간 사이의 주어진 시간 프레임에서 시간을 계산하십시오.

  9. 9

    날짜 및 시간에서 시간 계산

  10. 10

    날짜 범위 내에서 시간이 몇 번 발생하는지 계산

  11. 11

    특정 달의 주어진 주 번호에 대한 시작 및 종료 날짜를 각도로 계산

  12. 12

    PostgreSQL 내에서 주어진 GPS 좌표에 대한 일출 및 일몰 시간 계산

  13. 13

    SQL 또는 RoR-주어진 시작 날짜 및 빈도에 대한 간격 기간 찾기

  14. 14

    특정 날짜 범위 내에서 특정 날짜와 시간을 계산하는 방법

  15. 15

    Excel-시작-종료 날짜 범위에서 고유 한 날짜 계산

  16. 16

    시작-종료 날짜 및 시간 (UTC)에서 날짜 범위 파악

  17. 17

    MongoDB 및 PyMongo-주어진 날짜 및 시간에서 문서 검색

  18. 18

    Pandas-주어진 날짜 범위에 대해 서로 평균 시간 기간 비교

  19. 19

    r에서 날짜 및 시간 형식으로 소요 된 시간 계산

  20. 20

    Excel에서 날짜 및 시간 차이 계산

  21. 21

    주어진 시간 범위 내의 간격에 속하는 모든 'x'를 계산합니까?

  22. 22

    FullCalendar, 업무 시간 및 날짜 범위

  23. 23

    현재 날짜 시간에 대한 cpp 주 단위의 초 수를 계산합니다.

  24. 24

    날짜 계산-일광 절약 시간 (DST) 및 시간대 문제-터키

  25. 25

    겹치는 날짜 / 시간 범위의 배열에서 날짜 / 시간 범위 제외

  26. 26

    Python : Pandas에서 주 번호 및 연도에서 한주의 시작 날짜 및 종료 날짜 계산

  27. 27

    날짜 범위 사이의 각 행에 대한 최소 및 최대 날짜 시간 가져 오기

  28. 28

    날짜 시간 및 범위에 데이터 프레임 병합

  29. 29

    날짜 및 시간에 대한 혼합 형식 및 언어

뜨겁다태그

보관