Per l'impostazione del fuso orario In ordine programmatico è necessario utilizzare la classe Data. Vedere i documenti di riferimento here.
È necessario utilizzare il metodo setTimeZone()
della classe SimpleDateFormat
.
seguito è il codice di esempio per le impostazioni di fuso orario di base in America
// 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"));
Secondo la tua opinione, il codice dovrebbe funzionare se l'applicazione non dispone dell'autorizzazione SET_TIME_ZONE? – Jake
@Jake: Deve "funzionare". Tutto ciò che fa è impostare il 'TimeZone' per un tuo oggetto. È come dire "int a = 43", niente a cui interessa il sistema operativo. L'impostazione globale è ciò di cui hai bisogno per le autorizzazioni, vedi l'altra risposta. – maaartinus
Questa risposta mostra come impostare il fuso orario su un'istanza SimpleDateFormat, non sul sistema. Vedi la risposta di Dheeraj. – spaaarky21