How to get the current date and time of your timezone in Java?

get current time based on timezone in java
how to get current time in java
java get current time in seconds
how to get only time in java
get current time based on timezone in java 8
how to get time from date in java
java date
java get current timestamp

I have my app hosted in a London Server. I am in Madrid, Spain. So the timezone is -2 hours.

How can I obtain the current date / time with my time zone.

Date curr_date = new Date(System.currentTimeMillis());


Date curr_date = new Date(System.currentTimeMillis("MAD_TIMEZONE"));
With Joda-Time
DateTimeZone zone = DateTimeZone.forID("Europe/Madrid");
DateTime dt = new DateTime(zone);
int day = dt.getDayOfMonth();
int year = dt.getYear();
int month = dt.getMonthOfYear();
int hours = dt.getHourOfDay();
int minutes = dt.getMinuteOfHour();

Date is always UTC-based... or time-zone neutral, depending on how you want to view it. A Date only represents a point in time; it is independent of time zone, just a number of milliseconds since the Unix epoch. There's no notion of a "local instance of Date." Use Date in conjunction with Calendar and/or TimeZone.getDefault() to use a "local" time zone. Use TimeZone.getTimeZone("Europe/Madrid") to get the Madrid time zone.

... or use Joda Time, which tends to make the whole thing clearer, IMO. In Joda Time you'd use a DateTime value, which is an instant in time in a particular calendar system and time zone.

In Java 8 you'd use java.time.ZonedDateTime, which is the Java 8 equivalent of Joda Time's DateTime.

How to get the current date and time of your timezone in Java , The java.time package provides classes that you can use to get the current time of a different time zone. As an example, if you are located in your� java.util.Calendar class; Get Current Date and Time: java.time.format.DateTimeFormatter. The method returns the instance of LocalDateTime class. If we print the instance of LocalDateTime class, it prints current date and time. To format the current date, you can use DateTimeFormatter class which is included in JDK 1.8.

As Jon Skeet already said, java.util.Date does not have a time zone. A Date object represents a number of milliseconds since January 1, 1970, 12:00 AM, UTC. It does not contain time zone information.

When you format a Date object into a string, for example by using SimpleDateFormat, then you can set the time zone on the DateFormat object to let it know in which time zone you want to display the date and time:

Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

// Use Madrid's time zone to format the date in

System.out.println("Date and time in Madrid: " + df.format(date));

If you want the local time zone of the computer that your program is running on, use:


Getting Current Date Time in Java, Java - get current date and time in java: A complete guide for getting the current date and current time in local or different timezone with examples. This example shows how to get current TimeZone using getTimeZone method of Java Calendar class. Get current date time values using Java Calendar. December 1, 2011.

using Calendar is simple:

Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Europe/Madrid"));
Date currentDate = calendar.getTime();

How to get current date and time in java, When we buy something online or make a transaction, our banks offer us the Long story short, getting the current date and time in Java is very important and has a the current date according to the system clock, with the default time-zone. To get current date and time, it is very important to know the Java version used in application. If JDK version is 8 or later then the recommended way is to use LocalDate and LocalTime classes. For applications on Java 7 or below, use of Date and Calendar classes are the options.

With the java.time classes built into Java 8 and later:

public static void main(String[] args) {
        LocalDateTime localNow ="Europe/Madrid").toZoneId());
        // Prints current time of given zone without zone information : 2016-04-28T15:41:17.611
        ZonedDateTime zoneNow ="Europe/Madrid").toZoneId());
        // Prints current time of given zone with zone information : 2016-04-28T15:41:17.627+02:00[Europe/Madrid]

How to Get Current Date and Time in Java, Unfortunately, Date and Time API in Java is quite tricky and until you have a good System.out.println("Date in Indian Timezone (IST) : " + IST); 3) Always include timezone in your DateFormat while converting Date to String in Java. you can� Java – Getting current date and time in other timezone. The example we have seen above shows the date and time in local timezone. However we can get the date and time in different time zone as well such as UTC/GMT etc. In the following example we are displaying the time in GMT time zone.

Check this may be helpful. Works fine for me. Code also covered daylight savings

    TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
    Calendar cal = Calendar.getInstance();      
    // If needed in hours rather than milliseconds
    int LocalOffSethrs = (int) ((cal.getTimeZone().getRawOffset()) *(2.77777778 /10000000));        
    int ChinaOffSethrs = (int) ((tz.getRawOffset()) *(2.77777778 /10000000));       
    int dts = cal.getTimeZone().getDSTSavings();
    System.out.println("Local Time Zone : " + cal.getTimeZone().getDisplayName());
    System.out.println("Local Day Light Time Saving : " + dts);
    System.out.println("China Time : " + tz.getRawOffset());
    System.out.println("Local Offset Time from GMT: " + LocalOffSethrs);
    System.out.println("China Offset Time from GMT: " + ChinaOffSethrs);    
    // Adjust to GMT
    // Adjust to Daylight Savings
    cal.add(Calendar.MILLISECOND, - cal.getTimeZone().getDSTSavings());
    // Adjust to Offset
    cal.add(Calendar.MILLISECOND, tz.getRawOffset());       
    Date dt = new Date(cal.getTimeInMillis());              
    System.out.println("After adjusting offset Acctual China Time :" + dt); 

How to display date in multiple timezone in Java with Example, Java offers many useful ways to get current date or current time using Date me your questions related to getting current date and time in Java. In this tutorial, we will show you how to get the current date time from the classic Date and Calendar APIs, and also the new Java 8 date and time APIs – LocalDateTime and LocalDate. 1. Code Snippets. For java.util.Date, just create a new Date()

Java - Get Current Date and Time, 2.1 Set a time zone to DateFormat and format the java.util.Date set in the Calendar, the Date object will be always printed with the default system time zone. HOUR); // 12 hour clock int hourOfDay = calendar.get(Calendar. My question is that I want to convert userTime string to Date object in the same� Recent in Java. Get sub-string from text based on certain conditions/rules Jul 18 ; if i given invalid data how to get alert in selenium using java Jul 17 ; create multiple excel sheets.xlsx based on each iteration Jul 14

Java - Convert date and time between timezone, How can I get the current date and time in UTC or GMT in Java? SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MMM-dd HH: mm:ss");� Java.time.LocalDateTime − This class represents a date-time object without time zone in ISO-8601 calendar system. The now() method of this class obtains the current date-time from the system clock. Example. Following example retrieves the current time java.time package of Java8.

java.util.TimeZone.getTimeZone java code examples, It uses either a 24-hour format or a 12-hour format for display and its based on astronomical observations. UTC is not a time zone. It is a standard� In the past we learned how to get current date and time in Java using Date and Calendar classes. Here we will see how can we get current date & time in Java 8. Java 8 introduces a new date and time API java.time.* which has several classes, but the ones that we can use to get the date and time are: java.time.LocalDate, java.time.LocalTime & java.time.LocalDateTime.

  • possible duplicate of How can I get the current date and time in UTC or GMT in Java?
  • For example code using Joda-Time to translate between time zones, see my answer on the question Java Convert GMT/UTC to Local time doesn't work as expected
  • Date currentDate = Calendar.getInstance(TimeZone.getDefault()).getTime()
  • @user3132194: And what benefit do you think that will have over new Date()?
  • It is just a template for copy-paste, based on your answer. You said that Date is always UTC-based. I need local time.
  • @user3132194: That's a terrible template to copy and paste. There's no benefit over new Date(). If you want a local time, you shouldn't use Date. If you think your code does something useful over new Date(), I suspect you've misunderstood.
  • You are right new Date(), java.util.Calendar.getInstance(java.util.TimeZone.getDefault()).getTime() and even java.util.Calendar.getInstance(java.util.TimeZone.getTimeZone("Europe/Madrid")).getTime() works the same. But then unfortunately your answer is wrong. Or could you show me a good template? It seems only Jesper answer is correct.
  • Won't "GMT-2" give the "always GMT-2" zone, which won't include daylight savings?
  • you're right, I'm looking for a timezone sheet for handling daylight savings (I was not sure about -2)
  • please read the stackoverflow FAQ at "No question is too trivial or too "newbie". Oh yes, and it should be about programming."
  • The FAQ is correct. If someone Googles any programming question, we'd like Stack Overflow to be the top search result (or very near to it). This means that even the most trivial question, if it does not already exist on SO, is fair game.
  • Even if you set a time zone for a calendar instance it won't be considered for the getTime() method. From its javadocs: Returns a Date object representing this Calendar's time value (millisecond offset from the Epoch").
  • Nice example, but trying it with my timezone (EST) does not return the right value. Working with RawOffset does not consider DST. So i end up with 1hr earlier.
  • java.util.Date is deliberately divorced from TimeZone. For simple "what is the time in a particular time zone" java.util.* isn't too bad... but I agree that Joda Time is simply a better API in general.
  • Not only does this answer duplicate one posted years ago, it lacks any useful explanation. I suggest withdrawing this answer.