Los registros se guardan según el huso horario de EE. UU. Pero si deseo mostrar el mismo registro al usuario debe convertir la hora del servidor con (hora de EE. UU. Zona) a la hora de la fecha del usuario con la zona horaria del usuarioCómo convertir el tiempo de fecha de una zona horaria a otra zona horaria
Respuesta
Si escribe en google "Fecha de cambio de Java zona horaria" o "Fecha de Javascript cambiar zona horaria". Usted tendrá uno de sus resultados:
En Java (fuente: http://www.coderanch.com/t/417443/java/java/Convert-Date-one-timezone-another)
Date date = new Date();
DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z");
formatter.setTimeZone(TimeZone.getTimeZone("CET"));
// Prints the date in the CET timezone
System.out.println(formatter.format(date));
// Set the formatter to use a different timezone
formatter.setTimeZone(TimeZone.getTimeZone("IST"));
// Prints the date in the IST timezone
System.out.println(formatter.format(date));
Javascript (fuente: http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/6016329)
// function to calculate local time
// in a different city
// given the city's UTC offset
function calcTime(city, offset) {
// create Date object for current location
d = new Date();
// convert to msec
// add local time zone offset
// get UTC time in msec
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
// create new Date object for different city
// using supplied offset
nd = new Date(utc + (3600000*offset));
// return time as a string
return "The local time in " + city + " is " + nd.toLocaleString();
}
// get Bombay time
alert(calcTime('Bombay', '+5.5'));
//Convert date from one zone to another
/*
$zone_from='Asia/Kolkata';
$zone_to='America/Phoenix';
date_default_timezone_set($zone_from);
$convert_date="2016-02-26 10:35:00";
echo $finalDate=zone_conversion_date($convert_date, $zone_from, $zone_to);
*/
function zone_conversion_date($time, $cur_zone, $req_zone)
{
date_default_timezone_set("GMT");
$gmt = date("Y-m-d H:i:s");
date_default_timezone_set($cur_zone);
$local = date("Y-m-d H:i:s");
date_default_timezone_set($req_zone);
$required = date("Y-m-d H:i:s");
/* return $required; */
$diff1 = (strtotime($gmt) - strtotime($local));
$diff2 = (strtotime($required) - strtotime($gmt));
$date = new DateTime($time);
$date->modify("+$diff1 seconds");
$date->modify("+$diff2 seconds");
return $timestamp = $date->format("Y-m-d H:i:s");
}
TimeZone fromTimezone =TimeZone.getTimeZone(from);
TimeZone toTimezone=TimeZone.getTimeZone(to);
long fromOffset = fromTimezone.getOffset(calendar.getTimeInMillis());
long toOffset = toTimezone.getOffset(calendar.getTimeInMillis());
long convertedTime = calendar.getTimeInMillis() - (fromOffset - toOffset);
java.time
Las antiguas clases de fecha y hora están mal diseñadas, son confusas y problemáticas. Evítales.
Utilice las clases modernas: el marco java.time integrado en Java 8 y posterior. Encuentra puertos de respaldo for earlier Java 6 & 7 y for Android.
Un Instant
es un momento en la línea de tiempo en UTC.
Instant now = Instant.now();
Aplicar una zona horaria (ZoneId
) para obtener una ZonedDateTime
.
Nunca utilice las abreviaturas de zona de 3-4 letras como EST
o IST
. No están estandarizados ni son únicos (!). Use proper time zone names, construido en un formato continent/region
como Asia/Kolkata
, Pacific/Auckland
, America/Los_Angeles
.
ZoneId zoneId_Montreal = ZoneId.of("America/Montreal");
ZonedDateTime zdt_Montreal = ZonedDateTime.ofInstant(instant , zoneId_Montreal);
Aplicar una zona horaria diferente para generar otra ZonedDateTime
ajustada a la zona horaria. Llame al withZoneSameInstant
.
ZoneId zoneId_Paris = ZoneId.of("Europe/Paris"); // Or "Asia/Kolkata", etc.
ZonedDateTime zdt_Paris = zdt_Montreal.withZoneSameInstant(zoneId_Paris);
Si queremos volver a UTC, pedir una Instant
.
Instant instant = zdt_Paris.toInstant();
código para obtener Berlín Tiempo y convertirlo en tiempo UTC
Calendar sc = Calendar.getInstance(TimeZone.getTimeZone("Europe/Berlin"));
String strt = null;
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'");
sf.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
sc.set(sc.get(Calendar.YEAR),sc.get(Calendar.MONTH), sc.get(Calendar.DATE),sc.get(Calendar.HOUR) , sc.get(Calendar.MINUTE));
strt = sf.format(sc.getTime());
System.out.println("Start :"+strt);
- 1. Convertir UTC DateTime a otra zona horaria
- 2. Fecha de PostgreSQL() con la zona horaria
- 3. Cómo ignorar la zona horaria del usuario y forzar la fecha() utiliza la zona horaria específica
- 4. Python: Convertir hora local a otra zona horaria
- 5. ajustar la zona horaria
- 6. Python pytz Convertir una marca de tiempo (formato de cadena) de una zona horaria a otra
- 7. Convertir fechas JSON sin zona horaria
- 8. Cómo convertir DateTime en zona horaria específica?
- 9. Convertir hora y fecha de una zona horaria a otra en PHP
- 10. NSDatePicker rareza de zona horaria
- 11. Python Zona horaria conversión
- 12. java incorrecta zona horaria
- 13. Java GregorianCalendar Zona horaria
- 14. postgres zona horaria predeterminada
- 15. zona horaria local del dispositivo
- 16. ¿Cómo convertir programáticamente una hora de una zona horaria a otra en C?
- 17. zona horaria por Coordinar
- 18. Fecha en otra zona horaria: C++ en Linux
- 19. obtener usuario zona horaria
- 20. Cadena de formato a fecha y hora con zona horaria
- 21. .NET Obtener el desplazamiento de zona horaria por nombre de zona horaria
- 22. Django: problema de zona horaria
- 23. DataContractJsonSerializer DateTime implícita conversión de zona horaria
- 24. ¿Qué zona horaria muestra Date.toString()?
- 25. MySQL cambio de zona horaria?
- 26. Obtener zona horaria a partir de DateTime
- 27. ¿Cómo se muestra una fecha con una zona horaria personalizada?
- 28. Conversión de zona horaria en php
- 29. Cambiar zona horaria en Tomcat
- 30. Cadena de fecha/hora UTC a la zona horaria
Oi! ¡Java y Javascript son dos cosas completamente diferentes! – LouwHopley