title: Java 8 epoch-millis time stamp to formatted date, how?
body: <p>Before Java-8 I got accustomed to always keep anything date/time related as milliseconds since Epoch and only ever deal with human readable dates/times on the way out, i.e. in a UI or a log file, or when parsing user generated input. </p>
  
  <p>I think this is still safe with Java-8, and now I am looking for the most concise way to get a formatted date out of a milliseconds time stamp. I tried</p>
  
  <pre><code>df = Dateformatter.ofPattern("...pattern...");
  df.format(Instant.ofEpochMilli(timestamp))
  </code></pre>
  
  <p>but it bombs out with <code>Unsupported field: YearOfEra</code> in <code>Instant.getLong(...)</code> which I half understand. Now what to use instead of <code>Instant</code>? </p>
  
  <p><code>LocalDateTime.ofEpoch(Instant, ZoneId)</code> seems wrong, since I don't care to have local time. I just want to see the local time zone when applying the formatter. Internally it should be just the <code>Instant</code>.</p>
  
  <p>The same goes for <code>ZonedDateTime.ofInstant(Instant, ZoneId)</code>, I thought to apply the <code>ZoneId</code> only when formatting. But I notice that the <code>DateTimeFormatter</code> does not itself deal anymore with time zones, it seems, so I reckon I need to use one of the above.</p>
  
  <p>Which one is preferred and why? Or should I use yet another way to format an epoch-millis time stamp as a date/time with time zone?</p>