I have a script that uses wp_insert_post() to post daily [with 'post_date'=>date("Y-m-d H:i:s") and 'post_status'=>'publish' among the parameters], but noticed a problem: since March 9th, all posts had 'future' as post_status. Prior to this it was fine. I can only assume daylight savings time vs. GMT had something to do with this.
That wouldn't actually be much of a problem, except that future posts whose timestamps are already past still aren't displaying. For example, a post with a post_date of '2008-03-14 14:30:02'/post_date_gmt of '2008-03-14 19:30:02' will not display on the blog even now.
Why are 'future' posts with past timestamps not displaying?
Why is WordPress overriding my explicit post_status of 'publish' and setting these posts to 'future'?