Timezone is off by a couple of hours

This happens because of the timezone settings of your system and MySQL. MySQL can either take the timezone of the system in which it is installed, or it can have its onw timezone. Dependingon your setting, the time value will differ.

In my case, I run a VM in Ubuntu. Even though the host Ubuntu systemwas set to correct timezone, the VM was in GMT timezone and that caused issue in timestamps. (TheMysql is set to use System timezone in my case)

Hope it helps.