current_time(‘timestamp’) seems to be different from the real current time
The output of current_time(‘timestamp’) should be time() + ( get_option( ‘gmt_offset’ ) * HOUR_IN_SECONDS ); according to WP 3.5.2, so you should check your get_option( ‘gmt_offset’ ) settings. Also current_time(‘timestamp’, 1 ) should give you time().