When I click on an open timeslot for a worker, the time displayed is always 4 hours behind the time that comes up in the confirm appointment box. I tested this specifically with an appointment on June 30 at 10:30 am.
I did change my Wordpress Timezone to America/New_York. I also set my server to EST, as well as MySQL to EST.
I've been running tests on where this time problem pops up by manually calling up the time in question in various places in the website. The function I call is date("l, F j, Y, g:i a e",1372602600 ); That number is the timestamp for June 30, 10:30 am.
I called that function in various other places in the appointments.php file. It called the correct time everywhere I've put it EXCEPT in the ajax call that creates the final time listed in the appointments confirm box. This function is called pre_confirmation. The function is located in appointments.php on line 2228.
On line 2257, the timestamp is converted to a readable date with the function
apply_filters( 'app_confirmation_start', date_i18n( $this- >datetime_format, $start ), $start )
I suspected maybe the function date_i18n could be the problem, so I replaced this statement with date("l, F j, Y, g:i a e",1372602600 ). This produced the exactly same error - the time was put 4 hours ahead.
I have read other responses to this question of the timezone problems, and the only answer seemed to be to disable other plugins. I have disabled all plugins except those that are absolutely necessary to the site.
Is there a way to change the timezone within this function? Or do you know where and how the timezone is set within this and/or other ajax calls?
Thanks so much!