Wednesday, February 29, 2012

Getting the current time zone in android application


I wanted to get the current time zone in my android application. How can I get it. I tried to use this




Calendar cal = Calendar.getInstance( userConfig.locale);
TimeZone tz = cal.getTimeZone();



But i am not getting from it. How can i display the timezone

3 comments:

  1. Use this

    Calendar cal = Calendar.getInstance();
    TimeZone tz = cal.getTimeZone();
    Log.d("Time zone","="+tz.getDisplayName());


    or you can also use this

    Timezone.getDefault()

    ReplyDelete
  2. String timezoneID = TimeZone.getDefault().getID();
    System.out.println(timezoneID);


    In my Console its print Asia/Calcutta

    And any Date Format I set it Like....

    SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy");
    sdf2.setTimeZone(TimeZone.getTimeZone(timezoneID));

    ReplyDelete
  3. if u want to display the current time, u got to run on it on the UI thread,

    this worked for me!
    Timer timer = new Timer();
    timer.schedule(new TimerTask() {
    public void run() {
    runOnUiThread(new Runnable(){
    public void run() {
    dateTxt.setText(new Date().toString());
    }
    });
    }
    }, 0, 1000);

    ReplyDelete