Red de conocimiento informático - Material del sitio web - Cómo cambiar la zona horaria predeterminada en Android

Cómo cambiar la zona horaria predeterminada en Android

En la plataforma Android, a menudo nos encontramos con problemas en los que los productos necesitan cambiar la fecha y hora de la zona horaria predeterminada del sistema. Es relativamente fácil cambiar la zona horaria en Android. Hay mucha información en Internet. Simplemente configure un atributo directamente, por ejemplo, configure Shanghai East 8 District, persistence.sys.timezone = Asia/Shanghai. ¿Pero cómo cambiar la hora predeterminada del sistema?

En Android, kernel de Linux y reloj rtc, la fecha de inicio predeterminada es el 1 de enero de 1970, entonces, ¿cómo señalar la fecha predeterminada al 2012-01-01? En la práctica, el autor descubrió que se puede implementar fácilmente en el controlador RTC. RTC comienza desde 1970-01-01. Por supuesto, es fácil establecer el valor predeterminado en 2012-01-01. La cantidad de segundos que deben configurarse también es la cantidad de segundos desde 1970-01-01. artículos de segunda clase. Por lo tanto, siempre que el valor RTC leído sea menor que nuestro valor esperado, como 2012-01-01 (1325402913), lo configuramos en ese momento.

segundos = rtc_read_time();

printk("init PMU/RTC time to %ld \n", segundos);

if(segundos <= 1325402913) {

segundos = 1325402913;/*2012-01-01*/

ret = rtc_set_time(segundos);

RTC_DBG("Init Set time: %ld, ret =0x%x\n", segundos, ret);

}

El autor muestra a través de los resultados que se puede utilizado en la plataforma Android. Para configurar la hora del día, solo necesita calcular el número específico de segundos de la diferencia horaria entre 1970-01-01 00:00, lo cual es simple y claro. Esto hará que su uso sea más cómodo para los clientes y usuarios.