I record vengono salvati in base al fuso orario degli Stati Uniti, ma se si desidera mostrare lo stesso record all'utente, è necessario convertire l'ora della data del server con (Ora USA Zona) per l'ora data dell'utente con il fuso orario dell'utenteCome convertire la data da un fuso orario a un altro fuso orario
risposta
Se si digita google "fuso orario modifica data Java" o "fuso orario cambio data JavaScript". Avrete uno dei tuoi risultati:
In Java (fonte: 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 (fonte: 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
Le vecchie classi data-ora sono mal progettate, confuse e problematiche. Evitalo.
Utilizzare classi moderne: il framework java.time integrato in Java 8 e versioni successive. Trova back-ports for earlier Java 6 & 7 e for Android.
Un Instant
è un momento nella sequenza temporale in UTC.
Instant now = Instant.now();
Applicare un fuso orario (ZoneId
) per ottenere un ZonedDateTime
.
Non utilizzare mai le abbreviazioni di zona 3-4 lettere come EST
o IST
. Non sono né standardizzati né unici (!). Utilizzare proper time zone names, costruito in un formato continent/region
come Asia/Kolkata
, Pacific/Auckland
, America/Los_Angeles
.
ZoneId zoneId_Montreal = ZoneId.of("America/Montreal");
ZonedDateTime zdt_Montreal = ZonedDateTime.ofInstant(instant , zoneId_Montreal);
Applicare un fuso orario diverso per generare un altro ZonedDateTime
regolata a quel fuso orario. Chiama il numero withZoneSameInstant
.
ZoneId zoneId_Paris = ZoneId.of("Europe/Paris"); // Or "Asia/Kolkata", etc.
ZonedDateTime zdt_Paris = zdt_Montreal.withZoneSameInstant(zoneId_Paris);
Se si vuole tornare a UTC, chiedere un Instant
.
Instant instant = zdt_Paris.toInstant();
codice per ottenere Berlino Tempo e convertirlo in UTC Tempo
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. momentjs convertire datetime a UTC da un altro fuso orario
- 2. Convertire fuso orario locale a PST fuso orario in C#
- 3. javascript Data fuso orario
- 4. Data PostgreSQL() con fuso orario
- 5. Conversione data ora da fuso orario a fuso orario in server sql
- 6. Convertire ora e data da un fuso orario a un altro in PHP
- 7. conversione fuso orario Silverlight
- 8. Rimuovi fuso orario da un oggetto moment.js
- 9. Rails: convertire UTC DateTime in un altro fuso orario
- 10. Convertire la data con fuso orario noto alla data UTC
- 11. Data in un altro fuso orario: C++ su Linux
- 12. strptime con fuso orario
- 13. Estrai fuso orario da stringa
- 14. regolare il fuso orario
- 15. convertire il tempo da un fuso orario all'altro in Rails
- 16. Come posso "annullare" una data in un determinato fuso orario?
- 17. Converti data in fuso orario diverso
- 18. git commit fuso orario
- 19. PHP Data timestamp al fuso orario dell'utente
- 20. Fuso orario con PostgreSQL
- 21. Converti UTC DateTime in un altro fuso orario
- 22. fuso orario russo cambia
- 23. Ricevi la data corrente, dato un fuso orario in PHP?
- 24. Python Fuso orario conversione
- 25. Java GregorianCalendar Fuso orario
- 26. NSDate indipendente dal fuso orario?
- 27. Fuso orario per Firebase.ServerValue.TIMESTAMP
- 28. H2 predefinito fuso orario
- 29. Formato Fuso orario per Carbon Data
- 30. ottenere fuso orario dell'utente
Oi! Java e Javascript sono due cose completamente diverse! – LouwHopley