title: Postgresql date_trunc with time zone shifts zone by 1 hr
body: <p>we are using Postgresql 9.4 and i noticed a strange behavior when using date_trunc. The time zone in result is shifted by 1hr:</p>
  
  <pre><code>select date_trunc('year','2016-08-05 04:01:58.372486-05'::timestamp with time zone);
         date_trunc
  ------------------------
  2016-01-01 00:00:00-06
  </code></pre>
  
  <p>There is no such behavior when truncating to for example day:</p>
  
  <pre><code>select date_trunc('day','2016-08-05 04:01:58.372486-05'::timestamp with time zone);
         date_trunc
  ------------------------
  2016-08-05 00:00:00-05
  </code></pre>
  
  <p>Is this expected behavior? If so what is the logic behind that?</p>