The Pursuit of Happyness

반응형
strtotime 에서 2100년이 넘어갈때 제대로 처리하지 못하는 것은 다음의 코드를 응용해서 해결할수 있다.

function dateCompare($dt1, $dt2)
{
        $y1 = substr($dt1, 0, 4);
        $y2 = substr($dt2, 0, 4);

        if ($y1 > $y2) return -1;
        else if ($y1 < $y2) return 1;

        $startPos = 2;
        for($i=0;$i<5;$i++)
        {
                $startPos += 3;
                $v1 = substr($dt1, $startPos, 2);
                $v2 = substr($dt2, $startPos, 2);

                if ($v1 > $v2) return -1;
                else if ($v1 < $v2) return 1;
        }

        return 0;
}

function addYears($dt, $year)
{
        $yr = substr($dt, 0, 4);
        return ($yr + $year) . substr($dt, 4);
}

반응형