Milen Kovachev Milen Kovachev - 4 months ago 220
Java Question

How to convert ZonedDateTime to Date?

I am trying to set a server agnostic date time in my database and I believe the best practice to do so is to set a UTC DateTime. My db server is Cassandra and the db driver for Java understands only the Date type.

So assuming that in my code I am using the new Java 8 ZonedDateTime to get the UTC now (

ZonedDateTime.now(ZoneOffset.UTC)
), how can I convert this ZonedDateTime instance to the "legacy" Date class?

Answer

You can convert ZoneDateTime to an instant, which you can use directly with Date.

Date.from(java.time.ZonedDateTime.now().toInstant());