Jodatime cómo saber si el horario de verano está en
Tengo una API que necesita la zona horaria. Por ejemplo, Si estoy en California, necesito pasar -7 cuando el horario de verano esté activado (California, PDT es GMT-7) y -8 cuando el horario de verano está apagado. Pero no soy capaz de averiguar una manera de saber si en la fecha actual, el horario de verano está activado o desactivado.
Date date1 = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(date1); double[] coords = db.getCoords(id1); double latitude = coords[0]; double longitude = coords[1]; double timezone = -7; /* For Pacific daylight time (GMT - 7)*/ ArrayList<String> Times = Class.foo(cal, latitude, longitude, timezone);
He instalado JodaTime e incluso allí no puedo encontrar una manera. Por favor, sugerir si nativo java o jodatime, o bien tienen una manera de hacer esto.
- TimeZone.getTimeZone ("CST") devuelve GMT
- Cómo convertir el tiempo en AAAA-MM-DDTHH: mm: ss.SSSZ formato a la zona horaria por defecto?
- Android AlarmManager y DST / Timezone / Cambio de hora?
- Obtener la zona horaria local del dispositivo
- Android cómo configurar la zona horaria a través de la aplicación
- Obtención de la zona horaria en android
- Conversión de las fechas UTC a otras zonas horarias
- Android cómo obtener diferencia de tiempo entre dos zonas horarias en Android?
- Cómo manejar la diferencia de zona horaria entre el servidor y la aplicación nativa de Android?
- ¿Cómo obtener la compensación horaria en GMT (como GMT + 7: 00) desde el dispositivo Android?
- Obtenga el país de un determinado huso horario de Java
- Lista predeterminada de zonas horarias de Android
- Problema de zona horaria en Android
Cuando se crea un DateTime
con JodaTime, no es necesario pasar un desplazamiento. En su lugar, pase la zona horaria. Se encargará de determinar el offset correcto, incluyendo la consideración de DST.
// First get a DateTimeZone using the zone name DateTimeZone zone = DateTimeZone.forID("America/Los_Angeles"); // Then get the current time in that zone. DateTime dt = new DateTime(zone); // Or if you prefer to be more explicit, this syntax is equivalent. DateTime dt = DateTime.now(zone);
ACTUALIZAR
Todavía no estoy seguro de exactamente lo que usted está pidiendo, pero tal vez usted está buscando uno de estos:
// To get the current Pacific Time offset DateTimeZone zone = DateTimeZone.forID("America/Los_Angeles"); int currentOffsetMilliseconds = zone.getOffset(Instant.now()); int currentOffsetHours = currentOffsetMilliseconds / (60 * 60 * 1000); // To just determine if it is currently DST in Pacific Time or not. DateTimeZone zone = DateTimeZone.forID("America/Los_Angeles"); boolean isStandardOffset = zone.isStandardOffset(Instant.now()); boolean isDaylightOfset = !isStandardOffset;
- ¿En qué condiciones se aplican los cambios de servidor de versión 3 de facturación en la aplicación disponibles en los dispositivos cliente?
- Realm con datos pre-poblados en activos?