do ustawiania strefy czasowej Programetically trzeba użyć Klasa Date. Zobacz dokumenty referencyjne here.
Należy użyć klasy setTimeZone()
klasy .
Poniżej przykładowy kod dla ustawień strefy czasowej w zależności Ameryki
// First Create Object of Calendar Class
Calendar calendar = Calendar.getInstance();
// Now Set the Date using DateFormat Class
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss z");
// Finally Set the time zone using SimpleDateFormat Class's setTimeZone() Method
sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
Czy Twoim zdaniem kod powinien działać, jeśli aplikacja nie ma uprawnień SET_TIME_ZONE? – Jake
@Jake: Musi "działać". Wszystko, co robi, to ustawienie 'Strefy czasowej' dla twojego obiektu. To tak, jakby powiedzieć "int a = 43", nic, na czym system operacyjny się troszczy. Ustawienie globalne jest tym, na co potrzebujesz uprawnień, zobacz drugą odpowiedź. – maaartinus
Ta odpowiedź pokazuje, jak ustawić strefę czasową na instancji SimpleDateFormat, a nie w systemie. Zobacz odpowiedź Dheeraj. – spaaarky21