用PHP计算Summer / Winter Solstice?

PHP allows me to quickly check the sunrise and sunset times for any day at a specific Latitude & Longitude.

Is there a simple way to calculate which day is the Solstice? By which I mean - at my specific location, which day has the most hours of sunlight and which has the least?

I wouldn't call it "simple", but I thought about calculating the time differences between the sunrise and sunset in each day, then storing this data in an array, and finally finding the min/max value. Iv'e made something really quick, hope it would be useful:

(I used random long/lat)

function solstice() {

    // Set timezone
    date_default_timezone_set('UTC');
    $date='2014/01/01';

    $end_date='2014/12/31';
    $i = 0;
    //loop through the year
    while(strtotime($date)<=strtotime($end_date)) { 
        $sunrise=date_sunrise(strtotime($date),SUNFUNCS_RET_DOUBLE,31.47,35.13,90,3);
        $sunset=date_sunset(strtotime($date),SUNFUNCS_RET_DOUBLE,31.47,35.13,90,3);
        //calculate time difference
        $delta = $sunset-$sunrise;
        //store the time difference
        $delta_array[$i] = $delta;
        //store the date
        $dates_array[$i] = $date;
        $i++;
        //next day
        $date=date("Y-m-d",strtotime("+1 day",strtotime($date)));
    }

    $shortest_key = array_search(min($delta_array), $delta_array);
    $longest_key = array_search(max($delta_array), $delta_array);

    echo "The longest day is:".$dates_array[$longest_key]. "<br />";
    echo "The shortest day is:".$dates_array[$shortest_key]. "<br />";
}