Jason Davies wrote:
After some detective work, I think I'm on the trail. In function date() in languages/Language.php, there's a call "$ts = wfTimestamp(TS_MW,$ts);", which adjusts the time stamp for some reason, and which wasn't in version 1.3.1. When I remove that, the dates reported in the recent changes list look more sensible. That wfTimestamp function is used all over the place, so I'll have to see what it's supposed to be doing.
does this make sense to anyone? TIA, again.
It might "make sense" if PHP's built-in functions are malfunctioning and the functioning of wfTimestamp() is therefore broken. :)
Take that function in isolation (and the constant definitions it uses, right above it in GlobalSettings.php) and see if you can figure out how it's misbehaving.
Check that: * the format constants have the correct values * the correct preg_match calls match given input * the matches in $da contain the correct substrings * the result of gmmktime is a sensible Unix timestamp * nothing is overriding that timestamp * the correct output format is selected in the switch() * gmdate is returning sensible values
-- brion vibber (brion @ pobox.com)