

Locales identify a specific language and geographic region they’re represented as strings in the following format: an example of some locale strings: eo_KE How do I set the default locale for my JVM? In most cases, you should be using the UTC format as it’s best supported in Java. ZonedDateTime zdt = ZonedDateTime.ofInstant(now, You can do that by using the ofInstant static factory method passing a ZoneId: package com.thdespou The ending Z character denotes the Zone Offset which is Zero.Ī more robust option is to convert this Instance to a ZonedDateTime as you’d like to configure the current TimeZone. Indeed, if we check the Instant class to get the current time, we can see the date time printed as UTC: package com.thdespou Bellow is the depicted table of the capabilities exposed in this package:īased on this, we can infer that this package represents the time (with the location unspecified), as UTC, or as an offset from UTC. If you look at the documentation page, the package is based on the ISO calendar system and offers a simplified API for displaying and handling date and time instances. In general, this is not ideal, as it displays the current time based on the time zone of the specified region, which may be different than GMT therefore, it should be avoided.Ī better and more modern option bundled within the Java Core library (and not using any third-party offerings) is to use the java. However, if you run this code, you’ll see the following output: Current Date in milliseconds is :1583954404789 tDefault(TimeZone.getTimeZone("Europe/London")) Display the instant in three different time zones Other than that, you can also change the current system, TimeZone, and if you wanted to use a different time zone, you could do it as follows: package com.thdespou ("Current Date in milliseconds is :" + now.getTime()) Therefore, if you want to get swiftly the current time in milliseconds only, you can use the following code: package com.thdespou It doesn’t represent a date but an instance in time in milliseconds since the Unix epoch (1970).If you are using the package to get the current date and time in Java (as it looks more intuitive), you’ll soon find out it’s very limited. It is more stable as it takes time from an atomic clock.

It is a standard that we can use to display time zones. It uses either a 24-hour format or a 12-hour format for display, and it’s based on astronomical observations. GMT is a time zone used in some but not all parts of the world (mainly Europe and Africa).Before we see how to get the current date and time in UTC or GMT in Java, there are a few concepts we need to make ourselves familiar with.įirst things first, GMT (Greenwich Mean Time) is not the same as UTC (Coordinated Universal Time): One of the key questions developers have in every programming language is the one related to time and time zones.
