I see two table columns in wordpress tables for time values.
What is the reason behind storing different time types?
post_date is the
post_date_gmt after the Timezone value (in Settings) has been applied.
So, if you like, the reasoning is that there's a standard time for everybody, and then your own site's time depending on your Settings, so say you want to change that later, the standard time is always left untouched.