check your timezone in admin general settings, if that is correct then the date and time comes from the server, so if your server is in other place it will show that date and time. So change your server time in your php ini file
open your php.ini file and at the top put this
date.timezone = "your timezone"
from this list http://php.net/manual/en/timezones.php
and that should correct the issue, you can verify it by checking phpinfo() after you change the php.ini file to see what phpinfo() shows. If it still does not reflect correctly then you need to have your host set it for you or try the htaccess method.
in htaccess
php_value date.timezone "your timezone"
IMPORTANT - if you add this to your htaccess then be sure to refresh your site immediately because some server setups will cause an error because they do not allow php_value in the htaccess. So check right away.
If no error then check phpinfo() again. If still not changed then contact your host.