programing

두 날짜 사이의 일 수 찾기

javaba 2022. 9. 23. 23:17
반응형

두 날짜 사이의 일 수 찾기

PHP를 사용하여 두 날짜 사이의 일수를 찾는 방법은 무엇입니까?

$now = time(); // or your date as well
$your_date = strtotime("2010-01-31");
$datediff = $now - $your_date;

echo round($datediff / (60 * 60 * 24));

★★★★★★★★★를 사용하고 있는 경우는PHP 5.3 >절대차이를 계산하는 가장 정확한 방법은 다음과 같습니다.

$earlier = new DateTime("2010-07-06");
$later = new DateTime("2010-07-09");

$abs_diff = $later->diff($earlier)->format("%a"); //3

상대(서명된) 일수가 필요한 경우 대신 다음을 사용하십시오.

$earlier = new DateTime("2010-07-06");
$later = new DateTime("2010-07-09");

$pos_diff = $earlier->diff($later)->format("%r%a"); //3
$neg_diff = $later->diff($earlier)->format("%r%a"); //-3

php에 대한 내용은 DateInterval포맷은 https://www.php.net/manual/en/dateinterval.format.php 에서 구할 수 있습니다.

PHP 버전 5.3 이후부터는 새로운 날짜/시간 함수가 추가되어 차이를 가져옵니다.

$datetime1 = new DateTime("2010-06-20");

$datetime2 = new DateTime("2011-06-22");

$difference = $datetime1->diff($datetime2);

echo 'Difference: '.$difference->y.' years, ' 
                   .$difference->m.' months, ' 
                   .$difference->d.' days';

print_r($difference);

결과는 다음과 같습니다.

Difference: 1 years, 0 months, 2 days

DateInterval Object
(
    [y] => 1
    [m] => 0
    [d] => 2
    [h] => 0
    [i] => 0
    [s] => 0
    [invert] => 0
    [days] => 367
)

도움이 되었으면 좋겠다!

TL;DR은 UNIX 타임스탬프를 사용하지 않습니다.사용하지 마십시오.이 경우 98.0825%의 신뢰성에 문제가 생길 수 있습니다.Date Time(또는 Carbon)을 사용합니다.

정답은 Saksham Gupta가 제시한 것입니다(다른 정답도 정답입니다).

$date1 = new DateTime('2010-07-06');
$date2 = new DateTime('2010-07-09');
$days  = $date2->diff($date1)->format('%a');

또는 절차상 원라이너로서:

/**
 * Number of days between two dates.
 *
 * @param date $dt1    First date
 * @param date $dt2    Second date
 * @return int
 */
function daysBetween($dt1, $dt2) {
    return date_diff(
        date_create($dt2),  
        date_create($dt1)
    )->format('%a');
}

주의: '%a'는 절대 일수를 나타내는 것 같습니다.두 번째 날짜가 첫 번째 날짜 이전일 때 음수처럼 부호 있는 정수로 사용하려면 '%r' 접두사를 사용해야 합니다.format('%r%a')를 참조해 주세요.


UNIX 타임스탬프를 사용할 필요가 있는 경우는, 다음에 나타내는 대부분의 트랩을 피하기 위해서, 타임 존을 GMT 로 설정합니다.


긴 답변: 24*60*60(86400)으로 나누면 안전하지 않은 이유

UNIX 타임스탬프(및 그것을 일수로 변환하기 위한 86400)를 사용한 응답의 대부분은 두 가지 가정을 하고 있습니다.이를 종합하면 잘못된 결과나 미묘한 버그발생할 수 있으며, 도입 성공 후 며칠, 몇 주 또는 몇 달 후에 발생할 수도 있습니다.솔루션이 효과가 없는 것이 아니라 효과가 있습니다.오늘은. 근데 내일이면 안 될 수도 있어.

첫 번째 실수는 어제부터 며칠이 지났느냐고 물었을 때 현재와 어제가 하루도 지나지 않은 시점 사이에 컴퓨터가 사실 0으로 대답할 수 있다는 것을 고려하지 않는 것이다.

통상, 「day」를 UNIX 타임스탬프로 변환하는 경우, 취득되는 것은, 그 특정일의 자정에 대한 타임스탬프입니다.

10월 1일 자정부터 10월 15일 사이에 15일이 지났습니다.그러나 10월 1일 13:00에서 10월 15일 14:55 사이에 15일 - 5분이 경과하여 대부분의 해결 방법이floor()또는 암묵적인 정수 변환을 실행하면 예상보다 하루 적게 보고됩니다.

그래서 "Y-m-d H:i:s가 며칠 전이었나요?"는 오답이 됩니다.

두 번째 실수는 1일과 86400초입니다.이것은 거의 항상 사실이다 - 그것은 종종 일어나지 않는 시간을 간과할 정도로 일어난다.그러나 두 개의 연속적인 자정 사이의 거리(초)는 서머타임이 적용되었을 때 최소 1년에 두 번 이상 86400이 아닙니다.DST 경계를 넘어 2개의 날짜를 비교하면 오답이 생성됩니다.

따라서 모든 날짜 타임스탬프를 정해진 시간에 강제하는 "해킹"을 사용하는 경우에도 자정을 예로 들 수 있습니다(이는 다양한 언어 및 프레임워크에 의해 암묵적으로 수행되며 MySQL과 같은 데이터베이스의 DATE 유형에서도 마찬가지입니다).

 FLOOR((unix_timestamp(DATE2) - unix_timestamp(DATE1)) / 86400)

또는

 floor((time() - strtotime($somedate)) / 86400)

는 예를 들어 DATE1과 DATE2가 같은 DST 세그먼트에 있는 경우 17을 반환합니다.단, hour:minute:second 부분이 동일해도 인수는 17.042가 될 수 있습니다.또, 다른 DST 세그먼트에 있고, 타임 존이 DST 인식인 경우 인수는 16.958이 될 수 있습니다.floor() 또는 암묵적인 절단을 사용하면 17에서16으로 변환됩니다.다른 상황에서는 "$days > 17"과 같은 표현이 반환됩니다.true17.042일 .042일 것으로 됩니다.

이러한 코드는 플랫폼 간에 이식할 수 없기 때문에 일부는 윤초를 적용하고 일부는 그렇지 않을 수 있기 때문에 상황은 더욱 악화됩니다.이러한 플랫폼에서는 두 날짜의 차이는 86400이 아니라 86401 또는 86399가 될 수 있습니다.따라서 5월에 작동했고 실제로 모든 테스트를 통과한 코드는 12.9999일이 13일이 아닌 12일로 간주되는 내년 6월에 깨질 것이다.2015년에 적용되었던 두 날짜는 2017년에 적용되지 않습니다. 같은 날짜이며 두 해 모두 윤년이 아닙니다.2018-03-01~2017-03-01년에는 365일이 아닌 366일이 경과하여 2018년은 윤년이 될 것입니다(그렇지 않습니다).

UNIX 타임스탬프를 사용하는 경우는, 다음의 순서에 따릅니다.

  • round()floor().

  • 또는 D1-M1-YY1과 D2-M2-YY2의 차이를 계산하지 마십시오.이러한 날짜는 D1-M1-YY1 00:00:00 및 D2-M2-YY2 00:00:00로 간주됩니다.대신 D1-M1-YY1 22:30:00 와 D2-M2-YY2 04:30:00 사이에서 변환합니다.당신은 항상 20시간 정도의 여유를 갖게 될 입니다.이것은 21시간 또는 19초가 될 수도 있고 18시간 59분 36초가 될 수도 있습니다.상관없어.그것은 그곳에 머물면서 가까운 미래에 긍정적인 상태를 유지할 큰 마진이다.이것으로, 다음과 같이 잘라낼 수 있습니다.floor()안전하게.

그러나 올바른 해결책은 마법의 상수, 반올림 및 유지보수 부채를 피하기 위해 다음과 같이 하는 것입니다.

  • 시간 라이브러리 사용(Datime, Carbon 등); 사용자 자신의 시간 라이브러리 사용

  • DST 경계, 윤년, 윤초, 일반적인 날짜 등 정말 나쁜 날짜 선택을 사용하여 포괄적인 테스트 사례를 작성합니다.이상적으로는 (날짜 호출이 빠릅니다!) 문자열에서 데이터를 순차적으로 조합하여 4년치(및 1일치)의 날짜를 생성하고 테스트하는 첫날과 날짜의 차이가 1개씩 꾸준히 증가하는 것이 좋습니다.이것에 의해, 저레벨의 루틴이나 윤초 수정의 변경에 의해서 대혼란을 일으키려고 해도, 적어도 알 수 있습니다.

  • 다른 테스트 스위트와 함께 정기적으로 테스트를 수행합니다.그것들은 몇 밀리초 안에 끝나기 때문에 말 그대로 머리를 긁는 시간을 절약할 수 있습니다.


어떤 솔루션을 사용하든 테스트해 보십시오!

★★funcdiff다음에서는 실제 시나리오에서 솔루션 중 하나(실제로 인정된 솔루션)를 구현합니다.

<?php
$tz         = 'Europe/Rome';
$yearFrom   = 1980;
$yearTo     = 2020;
$verbose    = false;

function funcdiff($date2, $date1) {
    $now        = strtotime($date2);
    $your_date  = strtotime($date1);
    $datediff   = $now - $your_date;
    return floor($datediff / (60 * 60 * 24));
}
########################################

date_default_timezone_set($tz);
$failures   = 0;
$tests      = 0;

$dom = array ( 0, 31, 28, 31, 30,
                  31, 30, 31, 31,
                  30, 31, 30, 31 );
(array_sum($dom) === 365) || die("Thirty days hath September...");
$last   = array();
for ($year = $yearFrom; $year < $yearTo; $year++) {
    $dom[2] = 28;
    // Apply leap year rules.
    if ($year % 4 === 0)   { $dom[2] = 29; }
    if ($year % 100 === 0) { $dom[2] = 28; }
    if ($year % 400 === 0) { $dom[2] = 29; }
    for ($month = 1; $month <= 12; $month ++) {
        for ($day = 1; $day <= $dom[$month]; $day++) {
            $date = sprintf("%04d-%02d-%02d", $year, $month, $day);
            if (count($last) === 7) {
                $tests ++;
                $diff = funcdiff($date, $test = array_shift($last));
                if ((double)$diff !== (double)7) {
                    $failures ++;
                    if ($verbose) {
                        print "There seem to be {$diff} days between {$date} and {$test}\n";
                    }
                }
            }
            $last[] = $date;
        }
    }
}

print "This function failed {$failures} of its {$tests} tests";
print " between {$yearFrom} and {$yearTo}.\n";

그 결과,

This function failed 280 of its 14603 tests

공포 스토리: "시간 절약" 비용

이 모든 것은 2014년 말에 시작되었다.한 기발한 프로그래머는 악명 높은 (MidnightOfDateB-MidnightOfDateA)/86400" 코드를 여러 곳에 삽입함으로써 최대 30초 정도 걸리는 계산에서 몇 마이크로초를 절약하기로 결정했습니다.이것은 매우 명백한 최적화였기 때문에 문서화조차 하지 않았습니다.또한 최적화는 통합 테스트를 통과하여 몇 달 동안 코드에 잠복해 있었습니다.모두 눈치채지 못했습니다.

이것은, 톱 셀러 판매원의 임금을 계산하는 프로그램으로, 그 중 가장 적은 5명의 프로그래머 팀을 합친 것보다 훨씬 영향력이 크다.2015년 3월 28일 여름 시간대가 교전되어 버그가 발생했습니다.그리고 그 중 몇 명은 하루 종일 지방 요금의 거스름돈을 받지 못했습니다.설상가상으로, 그들 대부분은 일요일에 일을 하지 않았고, 월말이 가까워지자, 그날로 그들의 송장 발급을 따라잡았다.그들은 결코 즐거워하지 않았다.

훨씬 더 나쁜 것은, 그들은 프로그램이 비밀리에 설계되지 않은 것에 대한 (이미 거의) 믿음을 잃었고, 테스트 케이스와 함께 완전하고 상세한 코드 리뷰를 가장하여 획득했다는 것입니다(그리고 그 후 몇 주 동안 많은 긴급 조치).

뭐랄까, 좋은 점은, 우리는 많은 기술적 빚을 없앴고, 90년대에 COBOL의 침입으로 들렸던 스파게티 난장판 몇 개를 고쳐 쓰고 다시 만들 수 있었다는 점이다.이 프로그램은 이제 확실히 더 잘 실행되며, 뭔가 수상해 보일 때 빠르게 초점을 맞추기 위한 더 많은 디버깅 정보가 있습니다.나는 이 마지막 한 가지 일만으로도 예측 가능한 미래에 대해 한 달에 하루나 이틀 정도 인원을 절약할 수 있을 것으로 예상한다. 그래서 그 재난은 은빛 혹은 심지어 황금빛으로 빛날 것이다.

부정적인 측면은 전체 브루하하로 인해 회사가 선불로 약 20만 유로의 비용이 들었고, 게다가 의심할 여지 없이 약간의 협상력(그리고 더 많은 돈)이 필요했다는 것이다.

최적화를 담당한 남성은 재해 발생 훨씬 전인 2014년 12월 이직했지만 여전히 손해배상 청구소송이 있었다.그리고 그것이 "마지막 한 사람의 잘못"이라는 것은 윗사람들과 잘 맞지 않았다.- 우리가 그 문제를 깨끗이 털어놓는 것은 함정처럼 보였고, 결국 우리는 그 해의 나머지 기간 동안 곤경에 빠졌고, 그 해 여름 말에 팀 중 한 명이 사임했다.

중은 "를 들어 에서는 "86400"은 100번, "86400"은 "86400"입니다.)strtotime()는 DST를 무시하고 10월 마지막 토요일 자정부터 다음 월요일 자정 사이에 정확히 2 * 24 * 60 * 60 * 60 초가 지났다고 보고합니다.설령 그것이 명백히 사실이 아니더라도...그리고 두 가지 잘못은 기꺼이 한 가지를 옳게 할 것이다.)

신사 숙녀 여러분, 이것은 그렇지 않은 하나의 사례입니다.에어백이나 안전 벨트와 마찬가지로, 당신은 아마도 결코 복잡함(그리고 사용 편의성)을 필요로 하지 않을 것이다.DateTime또는Carbon하지만 당신이 이런 생각을 했다는 것을 증명해야 하는 날(10월 어느 일요일 02:00쯤)은 밤 도둑으로 다가온다.준비하세요.

날짜를 unix 타임스탬프로 변환한 다음 다른 타임스탬프를 추출합니다.그러면 초단위의 차이를 알 수 있습니다.초단위는 86400(1일 중 초 단위)으로 나누면 그 범위의 대략적인 일수를 알 수 있습니다.

날짜가 형식인 경우25.1.2010,01/25/2010또는2010-01-25, 를 사용할 수 있습니다.strtotime기능:

$start = strtotime('2010-01-25');
$end = strtotime('2010-02-20');

$days_between = ceil(abs($end - $start) / 86400);

사용.ceil일수를 다음 하루로 반올림합니다.사용하다floor그 두 날짜 사이의 전체 일수를 얻고 싶다면 대신.

날짜가 이미 unix 타임스탬프 형식인 경우 변환을 건너뛰고$days_between더 이국적인 날짜 형식의 경우 올바른 날짜 형식을 얻으려면 몇 가지 사용자 지정 구문 분석을 수행해야 할 수 있습니다.

사용하기 쉬운 date_diff

$from=date_create(date('Y-m-d'));
$to=date_create("2013-03-15");
$diff=date_diff($to,$from);
print_r($diff);
echo $diff->format('%R%a days');

객체 지향 스타일:

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');

절차 스타일:

$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');

사용:)

$days = (strtotime($endDate) - strtotime($startDate)) / (60 * 60 * 24);
print $days;

이제 작동한다

UTC를 벗어나면 실패하기 때문에 선택한 답변이 가장 정확하지 않습니다.시간대(목록)에 따라서는 24시간이 없는 날을 생성하는 시간 조정이 있을 수 있으며, 이로 인해 계산(60*60*24)이 실패합니다.

다음은 그 예입니다.

date_default_timezone_set('europe/lisbon');
$time1 = strtotime('2016-03-27');
$time2 = strtotime('2016-03-29');
echo floor( ($time2-$time1) /(60*60*24));
 ^-- the output will be **1**

따라서 올바른 솔루션은 Date Time을 사용하는 것입니다.

date_default_timezone_set('europe/lisbon');
$date1 = new DateTime("2016-03-27");
$date2 = new DateTime("2016-03-29");

echo $date2->diff($date1)->format("%a");
 ^-- the output will be **2**

간단하게 날짜를 찾을 수 있습니다.

<?php
$start  = date_create('1988-08-10');
$end    = date_create(); // Current time and date
$diff   = date_diff( $start, $end );

echo 'The difference is ';
echo  $diff->y . ' years, ';
echo  $diff->m . ' months, ';
echo  $diff->d . ' days, ';
echo  $diff->h . ' hours, ';
echo  $diff->i . ' minutes, ';
echo  $diff->s . ' seconds';
// Output: The difference is 28 years, 5 months, 19 days, 20 hours, 34 minutes, 36 seconds

echo 'The difference in days : ' . $diff->days;
// Output: The difference in days : 10398

두 날짜 간의 차이를 계산합니다.

$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");

$diff=date_diff($date1,$date2);

echo $diff->format("%R%a days");

출력: +272일

date_diff() 함수는 두 DateTime 개체 간의 차이를 반환합니다.

$start = '2013-09-08';
$end = '2013-09-15';
$diff = (strtotime($end)- strtotime($start))/24/3600; 
echo $diff;

저는 Carbon을 저의 작곡가 프로젝트에 이와 비슷한 목적으로 사용하고 있습니다.

다음과 같이 간단합니다.

$dt = Carbon::parse('2010-01-01');
echo $dt->diffInDays(Carbon::now());

아래 코드를 사용해 보십시오.

$dt1 = strtotime("2019-12-12"); //Enter your first date
$dt2 = strtotime("12-12-2020"); //Enter your second date
echo abs(($dt1 - $dt2) / (60 * 60 * 24));

PHP에서 두 날짜 사이의 일 수

      function dateDiff($date1, $date2)  //days find function
        { 
            $diff = strtotime($date2) - strtotime($date1); 
            return abs(round($diff / 86400)); 
        } 
       //start day
       $date1 = "11-10-2018";        
       // end day
       $date2 = "31-10-2018";    
       // call the days find fun store to variable 
       $dateDiff = dateDiff($date1, $date2); 

       echo "Difference between two dates: ". $dateDiff . " Days "; 

초단위의 타임 스탬프(I.E. Unix 타임스탬프)가 있는 경우는, 간단하게 시간을 빼고, 86400(일당 초수)으로 나눌 수 있습니다.

$datediff = floor(strtotime($date1)/(60*60*24)) - floor(strtotime($date2)/(60*60*24));

필요한 경우:

$datediff=abs($datediff);

두 날짜 사이의 날짜 차이를 찾는 가장 쉬운 방법

$date1 = strtotime("2019-05-25"); 
$date2 = strtotime("2010-06-23");

$date_difference = $date2 - $date1;

$result =  round( $date_difference / (60 * 60 * 24) );

echo $result;
$diff = strtotime('2019-11-25') - strtotime('2019-11-10');
echo abs(round($diff / 86400));
function howManyDays($startDate,$endDate) {

    $date1  = strtotime($startDate." 0:00:00");
    $date2  = strtotime($endDate." 23:59:59");
    $res    =  (int)(($date2-$date1)/86400);        

return $res;
} 

시작일과 종료일 사이에 하루 종일 에코하고 싶은 경우는, 다음과 같이 합니다.

$startdatum = $_POST['start']; // starting date
$einddatum = $_POST['eind']; // end date

$now = strtotime($startdatum);
$your_date = strtotime($einddatum);
$datediff = $your_date - $now;
$number = floor($datediff/(60*60*24));

for($i=0;$i <= $number; $i++)
{
    echo date('d-m-Y' ,strtotime("+".$i." day"))."<br>";
}

이 코드는 PHP 8 버전에서 테스트되었습니다.

function numberOfDays($startDate, $endDate) 
{
    //1) converting dates to timestamps
     $startSeconds = strtotime($startDate);
     $endSeconds = strtotime($endDate);
   
    //2) Calculating the difference in timestamps
    $diffSeconds = $startSeconds  - $endSeconds;
     
    
    //3) converting timestamps to days
    $days=round($diffSeconds / 86400);
    
      /*  note :
          1 day = 24 hours 
          24 * 60 * 60 = 86400 seconds
      */
   
    //4) printing the number of days
    printf("Difference between two dates: ". abs($days) . " Days ");
    
    return abs($days);
}

두 번째 파라미터가 통과되면 1년 2개월 25일을 나타내는 개량판입니다.

class App_Sandbox_String_Util {
    /**
     * Usage: App_Sandbox_String_Util::getDateDiff();
     * @param int $your_date timestamp
     * @param bool $hr human readable. e.g. 1 year(s) 2 day(s)
     * @see http://stackoverflow.com/questions/2040560/finding-the-number-of-days-between-two-dates
     * @see http://qSandbox.com
     */
    static public function getDateDiff($your_date, $hr = 0) {
        $now = time(); // or your date as well
        $datediff = $now - $your_date;
        $days = floor( $datediff / ( 3600 * 24 ) );

        $label = '';

        if ($hr) {
            if ($days >= 365) { // over a year
                $years = floor($days / 365);
                $label .= $years . ' Year(s)';
                $days -= 365 * $years;
            }

            if ($days) {
                $months = floor( $days / 30 );
                $label .= ' ' . $months . ' Month(s)';
                $days -= 30 * $months;
            }

            if ($days) {
                $label .= ' ' . $days . ' day(s)';
            }
        } else {
            $label = $days;
        }

        return $label;
    }
}
$early_start_date = date2sql($_POST['early_leave_date']);


$date = new DateTime($early_start_date);
$date->modify('+1 day');


$date_a = new DateTime($early_start_date . ' ' . $_POST['start_hr'] . ':' . $_POST['start_mm']);
$date_b = new DateTime($date->format('Y-m-d') . ' ' . $_POST['end_hr'] . ':' . $_POST['end_mm']);

$interval = date_diff($date_a, $date_b);


$time = $interval->format('%h:%i');
$parsed = date_parse($time);
$seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60;
//        display_error($seconds);

$second3 = $employee_information['shift'] * 60 * 60;

if ($second3 < $seconds)
    display_error(_('Leave time can not be greater than shift time.Please try again........'));
    set_focus('start_hr');
    set_focus('end_hr');
    return FALSE;
}
<?php
$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");
$diff=date_diff($date1,$date2);
echo $diff->format("%R%a days");
?>

위의 코드를 매우 단순하게 사용했습니다.감사합니다.

function get_daydiff($end_date,$today)
{
    if($today=='')
    {
        $today=date('Y-m-d');
    }
    $str = floor(strtotime($end_date)/(60*60*24)) - floor(strtotime($today)/(60*60*24));
    return $str;
}
$d1 = "2018-12-31";
$d2 = "2018-06-06";
echo get_daydiff($d1, $d2);

이 간단한 기능을 사용하여.함수 선언

<?php
function dateDiff($firstDate,$secondDate){
    $firstDate = strtotime($firstDate);
    $secondDate = strtotime($secondDate);

    $datediff = $firstDate - $secondDate;
    $output = round($datediff / (60 * 60 * 24));
    return $output;
}
?>

이 기능을 원하는 곳에서 호출합니다.

<?php
    echo dateDiff("2018-01-01","2018-12-31");    

// OR

    $firstDate = "2018-01-01";
    $secondDate = "2018-01-01";
    echo dateDiff($firstDate,$secondDate);    
?>
    // Change this to the day in the future
$day = 15;

// Change this to the month in the future
$month = 11;

// Change this to the year in the future
$year = 2012;

// $days is the number of days between now and the date in the future
$days = (int)((mktime (0,0,0,$month,$day,$year) - time(void))/86400);

echo "There are $days days until $day/$month/$year";

MySql을 사용하는 경우

function daysSince($date, $date2){
$q = "SELECT DATEDIFF('$date','$date2') AS days;";
$result = execQ($q);
$row = mysql_fetch_array($result,MYSQL_BOTH);
return ($row[0]);

}

function execQ($q){
$result = mysql_query( $q);
if(!$result){echo ('Database error execQ' . mysql_error());echo $q;}    
return $result;

}

카본 사용법

$d1 = \Carbon\Carbon::now()->subDays(92);
$d2 = \Carbon\Carbon::now()->subDays(10);
$days_btw = $d1->diffInDays($d2);

또,

\Carbon\Carbon::parse('')

지정된 타임스탬프 문자열을 사용하여 Carbon 날짜 개체를 만듭니다.

언급URL : https://stackoverflow.com/questions/2040560/finding-the-number-of-days-between-two-dates

반응형