I am programmatically trying to set the timezone to Indian Standard Time (IST) in Android, but nothing seems to work!
Here's the code snippet:
SimpleDateFormat s = new SimpleDateFormat("HH:mm:ss");
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Kolkata"));
// TimeZone.setDefault(TimeZone.getTimeZone("GMT +5:30"));
// TimeZOne.setDefault(TimeZone.getTimeZone("IST"));
Calendar c = Calendar.getInstance();
System.out.println(s.format(c.getTime()));
Rather than changing the default time zone (which you're doing after creating the SimpleDateFormat
) you should just set the time zone of the SimpleDateFormat
:
SimpleDateFormat s = new SimpleDateFormat("HH:mm:ss");
s.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata"));
System.out.println(s.format(new Date()));
See more on this question at Stackoverflow