Revision as of 18:04, 27 November 2008 by vltsoy (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Converting time zones in Java ME

From Nokia Developer Wiki
Jump to: navigation, search

Article Metadata
Tested with
Devices(s): Nokia E70, Nokia N78
Keywords: java.util.TimeZone, java.util.TimeZone.getAvailableIDs, java.util.TimeZone.getRawOffset
Created: (28 Oct 2008)
Last edited: vltsoy (27 Nov 2008)


This code snippet demonstrates how to convert time zones.

List of all supported time zones is shown on screen. By choosing time zone from list, user can see what time offset does it have. Method TimeZone.getTimeZone() allows application to retrieve chosen Time Zone, method TimeZone.getRawOffset() used to retrieve raw time offset for chosen time zone.

Source file: ConvertingTimeZones.java

import java.util.TimeZone;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.List;
import javax.microedition.midlet.MIDlet;
public class ConvertingTimeZones extends MIDlet implements CommandListener {
private List list;
private Form form;
private Display display;
private TimeZone timeZone;
private Command backCommand;
private Command exitCommand;
* Constructor. Constructs the object and initializes buffer.

public ConvertingTimeZones() {
timeZone = TimeZone.getDefault();
backCommand = new Command("Back", Command.BACK, 1);
exitCommand = new Command("Exit", Command.EXIT, 0);
form = new Form("Time zone info");
//Create list filled with all available time zone IDs.
list = new List("Select time zone:", List.IMPLICIT,
timeZone.getAvailableIDs(), null);
display = Display.getDisplay(this);
* From CommandListener.
* Called by the system to indicate that a command has been invoked on a
* particular displayable.
* @param cmd the command that was invoked
* @param displayable the displayable where the command was invoked

public void commandAction(Command cmd, Displayable displayable) {
if (cmd == List.SELECT_COMMAND) {
//Clear form.
//Get selected time zone index.
String timeZoneID = list.getString(list.getSelectedIndex());
form.append("Time zone ID: " + timeZoneID + "\n");
form.append("Time offset: ");
//Display the GMT offset for selected time zone in hours.
timeZone.getTimeZone(timeZoneID).getRawOffset() / 3600000));
form.append(" hours");
} else if (cmd == backCommand) {
} else if (cmd == exitCommand) {
* From MIDlet.
* Called when the MIDlet is started.

public void startApp() {
// No implementation required.
* From MIDlet.
* Called to signal the MIDlet to enter the Paused state.

public void pauseApp() {
// No implementation required.
* From MIDlet.
* Called to signal the MIDlet to terminate.
* @param unconditional whether the MIDlet has to be unconditionally
* terminated

public void destroyApp(boolean unconditional) {


This application allows user to retrieve time offset for any time zone he needs.

Supplementary material

You can see source file and executable application in attached zip archive. Archive is available for download at Media:Converting_time_zones_in_J2ME.zip

93 page views in the last 30 days.