barand++
This works on everything; no worrys about day values as this compensates for that as well.
Thanx
In case anyone is interested: This returns an array (associative hash I think it's called in PHP for you dedicated PHPers) with date / time values that you can use to do search / replace into templates (great for timestamping page display):
function date_array($offset)
{
// set the offset
$offset = strtotime($offset);
// generate the values for time_vars for right now
$time_vars["sec"] = date("s", $offset);
$time_vars["min"] = date("i", $offset);
$time_vars["hour_24"] = date("G", $offset);
$time_vars["hour_0_24"] = date("H", $offset);
$time_vars["hour_12"] = date("g", $offset);
$time_vars["hour_0_12"] = date("h", $offset);
$time_vars["hour_24"] = date("", $offset);
$time_vars["mdayth"] = date("jS", $offset);
$time_vars["mdayth_0"] = date("d", $offset) . "<sup>" . date("S", $offset) . "</sup>";
$time_vars["mday"] = date("j", $offset);
$time_vars["mday_0"] = date("d", $offset);
$time_vars["month"] = date("F", $offset);
$time_vars["mon"] = date("M", $offset);
$time_vars["mnum_0"] = date("m", $offset);
$time_vars["mnum"] = date("n", $offset);
$time_vars["year"] = date("Y", $offset);
$time_vars["yr"] = date("y", $offset);
$time_vars["weekday"] = date("l", $offset);
$time_vars["wkday"] = date("D", $offset);
$time_vars["timezone"] = date("T", $offset);
$time_vars["daysinmonth"] = date("t", $offset);
$time_vars["epochsecs"] = date("U", $offset);
if ( date('G') >= 0 && date("G", $offset) < 12 ) { $time_vars["timeofday"] = "morning"; } elseif ( date("G", $offset) >= 12 && date("G", $offset) < 17 ) { $time_vars["timeofday"] = "afternoon"; } else { $time_vars["timeofday"] = "evening"; }
$time_vars["yday"] = date("z", $offset) + 1;
if ( date("I", $offset) == 1 ) { $time_vars["isdst"] = "Daylight Savings Time"; } else { $time_vars["isdst"] = ""; }
$time_vars["am_pm"] = strtolower( date("A", $offset) );
$time_vars["AM_PM"] = date("A", $offset);
return $time_vars;
}