title: Jooq is adjusting timestamptz to instant conversion using JVM timezone
body: <p>I have a book record in my postgres database, with the <em>displayTimestamp</em> (of type <em>TIMESTAMPTZ</em>) set to <em>2020-04-01T15:19:35.511599Z</em>. The database timezone is set to UTC.</p>
  
  <p>When I query with jooq (<em>TIMESTAMPTZ</em> converted to <em>java.time.Instant</em>), such as:</p>
  
  <pre><code> jooq.select(Books.BOOKS.DISPLAY_TIMESTAMP)
          .from(Books.BOOKS)
          .fetchOne()
  </code></pre>
  
  <p>I get the correct value, <em>2020-04-01T15:19:35.511599Z</em>.</p>
  
  <p>However, when I query using the jooq <strong>trunc</strong> method:</p>
  
  <pre><code> jooq.select(trunc(Books.BOOKS.DISPLAY_TIMESTAMP))
          .from(Books.BOOKS)
          .fetchOne()
  </code></pre>
  
  <p>I get the result of <em>2020-03-31T22:00:00Z</em>. The timestamp seems to be -2 hours from the expected value. I notice that when I set the JVM timezone explicitly via <em>-Duser.timezone=UTC</em>, the problem is fixed. </p>
  
  <p>This shows that JOOQ is making an adjustment to the timestamp based on the JVM's timezone, but weirdly only when using the <strong>trunc</strong> method. </p>
  
  <p>Can anybody offer any input on fixing this? Ideally I would like JOOQ (<em>3.13.0</em>) to not make any adjustment based on the JVM timezone. </p>