Quiero obtener la hora local de las diferentes zonas horarias usando código Java. Según el huso horario pasado a la función, necesito la hora local de esa zona horaria. ¿Cómo lograr esto?¿Cómo obtener la hora local de diferentes zonas horarias?
Respuesta
java.util.TimeZone tz = java.util.TimeZone.getTimeZone("GMT+1");
java.util.Calendar c = java.util.Calendar.getInstance(tz);
System.out.println(c.get(java.util.Calendar.HOUR_OF_DAY)+":"+c.get(java.util.Calendar.MINUTE)+":"+c.get(java.util.Calendar.SECOND));
me animo a revisar Joda Time, una alternativa (pero muy popular) para el estándar fecha y hora de Java API:
http://joda-time.sourceforge.net/index.html
Usando Joda tiempo, creo que esto es lo que qué:
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
public class TimeZoneDemo {
public static void main(String[] args) {
DateTime now = new DateTime(System.currentTimeMillis(), DateTimeZone.forID("UTC"));
System.out.println("Current time is: " + now);
}
}
Solo necesita saber la ID estándar para la zona horaria en cuestión, como UTC.
escribí el siguiente programa para obtener el tiempo para todas las zonas horarias disponibles, ver si esto ayuda ...
String[] zoneIds = TimeZone.getAvailableIDs();
for (int i = 0; i < zoneIds.length; i++) {
TimeZone tz = TimeZone.getTimeZone(zoneIds[i]);
System.out.print(tz.getID() + " " + tz.getDisplayName());
Calendar calTZ = new GregorianCalendar(tz);
calTZ.setTimeInMillis(new Date().getTime());
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, calTZ.get(Calendar.YEAR));
cal.set(Calendar.MONTH, calTZ.get(Calendar.MONTH));
cal.set(Calendar.DAY_OF_MONTH, calTZ.get(Calendar.DAY_OF_MONTH));
cal.set(Calendar.HOUR_OF_DAY, calTZ.get(Calendar.HOUR_OF_DAY));
cal.set(Calendar.MINUTE, calTZ.get(Calendar.MINUTE));
cal.set(Calendar.SECOND, calTZ.get(Calendar.SECOND));
cal.set(Calendar.MILLISECOND, calTZ.get(Calendar.MILLISECOND));
System.out.println(" "+cal.getTime());
cheque esto. espero que ayude
TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
Calendar cal = Calendar.getInstance();
int LocalOffSethrs = (int) ((cal.getTimeZone().getRawOffset()) *(2.77777778 /10000000));
int ChinaOffSethrs = (int) ((tz.getRawOffset()) *(2.77777778 /10000000));
TimeZone tz1 = TimeZone.getTimeZone("US/Central");
String ss =cal.getTimeZone().getDisplayName();
System.out.println("Local Time Zone : " + ss);
System.out.println("China Time : " + tz.getRawOffset());
System.out.println("Local Offset Time from GMT: " + LocalOffSethrs);
System.out.println("China Offset Time from GMT: " + ChinaOffSethrs);
cal.add(Calendar.MILLISECOND,-(cal.getTimeZone().getRawOffset()));
//cal.add(Calendar.HOUR,- LocalOffSethrs);
cal.add(Calendar.MILLISECOND, tz.getRawOffset());
Date dt = new Date(cal.getTimeInMillis());
System.out.println("After adjusting offset Acctual China Time :" + dt);
por favor aprenda las convenciones de nomenclatura de Java y adhiérase a ellas – kleopatra
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
SimpleDateFormat dateFormat = new SimpleDateFormat();
dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Seoul"));
GregorianCalendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 0);
System.out.println(dateFormat.format(cal.getTime()));
Java 1.8 le proporciona algunas nuevas clases en el paquete java.time
:
package learning.java8;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import org.junit.Test;
public class JavaTimeLT {
@Test
public void zonedDataTimeExample() {
final ZoneId zoneId = ZoneId.of("Europe/Zurich");
final ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.now(), zoneId);
System.out.println(zonedDateTime.format(DateTimeFormatter.ISO_ZONED_DATE_TIME));
}
}
En Java 8, puede utilizar la ZonedDateTime.now(ZoneId zone)
método:
ZonedDateTime zonedDateTime = ZonedDateTime.now(ZoneId.of("Asia/Tokyo"));
LocalTime localTime = zonedDateTime.toLocalTime();
System.out.println(localTime);
- 1. impresión hora correcta con zonas horarias, Python
- 2. Javascript DateFormat para diferentes zonas horarias
- 3. ¿Cómo manejo la fecha y la hora en diferentes zonas horarias?
- 4. Cómo obtener las diferencias horarias actuales entre dos zonas horarias
- 5. ¿Cómo puedo convertir zonas horarias en Perl?
- 6. Javascript/PHP y zonas horarias
- 7. ¿Cómo administrar zonas horarias en una aplicación web?
- 8. Python strptime() y zonas horarias?
- 9. DateTime.Ticks, DateTime.Equals y zonas horarias
- 10. Zonas horarias en Python
- 11. Elasticsearch y zonas horarias
- 12. ¿Cuántas zonas horarias hay?
- 13. ExtJS fechas y zonas horarias
- 14. Joda Time - diferente entre las zonas horarias
- 15. ¿La mejor manera de administrar las fechas de almacenamiento/visualización en diferentes zonas horarias en PHP?
- 16. Obtener tiempo de diferentes zonas horarias en la selección de tiempo del selector de tiempo
- 17. la conversión a otras zonas horarias UTC
- 18. Convertir entre zonas horarias en C
- 19. Componentes de NSDateComponents: fromDate y Zonas horarias
- 20. Conversión entre zonas horarias en PHP
- 21. ¿Cómo pruebo la aplicación dependiente de la zona horaria de mi navegador en diferentes zonas horarias?
- 22. ¿Cómo convertir el tiempo entre zonas horarias (UTC a EDT)?
- 23. Trabajando con zonas horarias en SSRS
- 24. ¿Cómo hacer zonas horarias en ASP.NET MVC?
- 25. Mejor lista de zonas horarias de PHP
- 26. Visualización de zonas horarias sin utilizar UTC
- 27. Tratar con el servidor PHP y el servidor MySQL en diferentes zonas horarias
- 28. ¿Luchando con cómo comparar horas con diferentes zonas horarias en Java?
- 29. Zonas horarias de Python - pytz.common_timezones tiene demasiadas
- 30. Convertir marca de tiempo en zonas horarias
Gracias por la respuesta . Estoy escribiendo una clase pequeña y no quiero importar el paquete joda para esta clase pequeña. ¿Puedes sugerir de otra manera? Gracias de nuevo – Raj