PHP4.4.0 での mktime

http://ml.php.gr.jp/pipermail/php-users/2005-August/026870.html

<?php
define(SECOND_DAY,60 * 60 * 24);
function smktime($hour = 0,$minute = 0,$second = 0,$month = 0,$day = 0,$year = 0,$dst = 0){
    if ($year >= 1970 || mktime(0,0,0,1,1,1969) == -31568400){
        $ret = mktime($hour,$minute,$second,$month,$day,$year,$dst);
    }else{
        $base = 1972 + ($year % 4);
        $_y = $base - $year;
        $ret = mktime($hour,$minute,$second,$month,$day,$base);
        $ret = $ret - ($_y * SECOND_DAY * 365) - (ceil($_y / 4) * SECOND_DAY);
    }
    return $ret;
}