Instant instant = Instant.now();
Instant instantNow = zdt.toInstant();
Instant now = Instant.now();
OffsetDateTime odt = instant.atOffset( ZoneOffset.UTC );
String output = DateTimeFormatter
.ofLocalizedDate( FormatStyle.FULL )
.withLocale( Locale.CANADA_FRENCH )
.format ( nowMontreal );
ZoneId z = ZoneId.of( "America/Montreal" );
ZonedDateTime nowMontreal = instant.atZone( z );
ZoneId z = ZoneId.of( "Pacific/Auckland" );
ZonedDateTime zdt = ZonedDateTime.now( z );
ZonedDateTime now = ZonedDateTime.now();
Time-of-day, with a fraction of a second to nanosecond resolution.
Generally better to get in the habit of doing your back-end work (business logic, database, storage, data exchange) all in UTC time zone. The code above relies implicitly on the JVMs current default time zone.
Generate a String representation of that date-time value, localized.
Get the current moment in java.time.
If no time zone is specified, your JVMs current default time zone is assigned silently. Better to specify your desired/expected time zone than rely implicitly on default.
Or, to stay in UTC, use Instant. An Instant object represents a moment on the timeline, to nanosecond resolution, always in UTC. This provides the building block for a zoned date-time, along with a time zone assignment. You can think of it conceptually this way:
The Instant class is a basic building-block class in java.time and may be used often in your code.
The Instant class represents a moment in the timeline in UTC with a resolution of nanoseconds.
The java.util.Date class has been outmoded by the new java.time package (Tutorial) in Java 8 and later. The old java.util.Date/.Calendar classes are notoriously troublesome, confusing, and flawed. Avoid them.
When you need more flexibility in formatting, transform into an OffsetDateTime. Specify a ZoneOffset object. For UTC use the handy constant for UTC.
You can start with an Instant. No need to specify a time zone here, as Instant is always in UTC.
You easily adjust to another time zone for presentation to the user. Use a proper time zone name, never the 3-4 letter codes such as EST or IST.