title: how to handle edge case when using Java.time to convert date time to epoch
body: <p>This is my code which converts date time to epoch timestamp, there's one case that I don't know how to deal with, if zone info is included in the timestamp and not passed as the third argument to this function, it will always be converted to UTC despite what time zone is in the timestamp, how to solve this problem?</p>
  
  <pre><code>  time_to_epoch(List(JString("2007-12-03T10:15:30 CET"), JString("yyyy-MM-dd'T'HH:mm:ss z"))) shouldEqual JString("1196669730000")
  </code></pre>
  
  <p>time_to_epoch(List(JString("2007-12-03T10:15:30+02:00"), JString("yyyy-MM-dd'T'HH:mm:ssXXX"), JString("CEST"))) shouldEqual JString("1196669730000")
  time_to_epoch(List(JString("2007-12-03T10:15:30 CEST"), JString("yyyy-MM-dd'T'HH:mm:ss z"))) shouldEqual JString("1196673330000")</p>
  
  <pre><code> whatever timezone in the timestamp, the result is wrong, i.e, CEST(+02:00), output (+01:00), America/Mexico_City(+05:00), output (+04:00)
  </code></pre>