devxlogo

Converting Time Zones and Dates

Converting Time Zones and Dates

The java.util.TimeZone class can be used to convertdates and times from local values (default) to othertime zones. The following example shows how:

 import java.util.*;public class TimeZoneTest {public static void main(java.lang.String[] args){Arrays aTimeZones = null;String[] sIds = TimeZone.getAvailableIDs(); // GETID'STimeZones.sort(sIds); // SORT ID'SCalendar cal =Calendar.getInstance(TimeZone.getDefault()); // CREATEDEFAULT CALENDARdisplayDate(cal); // DISPLAY LOCAL TIMEfor (int i = 0; i < sIds.length; i++){cal.setTimeZone(TimeZone.getTimeZone(sIds[i]));cal.setTime(cal.getTime()); // FORCE TIME RECALCdisplayDate(cal); // DISPLAY TIME}}// Format & display Calendar infopublic static void displayDate(java.util.Calendar cal){int iYear = cal.get(Calendar.YEAR);int iMonth = cal.get(Calendar.MONTH);int iDay = cal.get(Calendar.DAY_OF_MONTH);int iHour = cal.get(Calendar.HOUR_OF_DAY);int iMinute = cal.get(Calendar.MINUTE);System.out.println(cal.getTimeZone().getID() + ": " +buildTwoDigits(iMonth) + "/" + buildTwoDigits(iDay) +"/" + iYear + " " + buildTwoDigits(iHour) + ":" +buildTwoDigits(iMinute));}// Force two-digit displaypublic static  String buildTwoDigits(int iDigitIn){String sDigitIn = Integer.toString(iDigitIn);if (sDigitIn.length() == 1) return "0" + sDigitIn;else return sDigitIn;}}

Note the following tips/traps:

* Calendar objects will inherit the local time zone bydefault. Calendar.getInstance() creates the sameobject as Calendar.getInstance(TimeZone.getDefault()). In addition, the local time will be set as thedefault value.

* Date objects will also inherit the local time zonevalue by default. Performing a getTime on a Calendarinstance will return a Date value converted to thelocal time zone regardless of the time zone of theCalendar.

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist