Как конвертировать дату с одного часового пояса в другой часовой пояс

Записи сохраняются в соответствии с часовым поясом США, но если я хочу показать одну и ту же запись обратно пользователю, она должна преобразовать время даты сервера с (Часовой пояс США) к дате времени пользователя с часовым поясом пользователя

Если вы наберете «часовой пояс изменения даты Java» или «Часовой пояс с датой изменения Javascript». У вас будет один из ваших результатов:

В Java (источник: 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 (источник: 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')); 

java.time

Старые classы времени-времени плохо разработаны, запутываются и хлопотны. Избежать их.

Используйте современные classы: фреймворк java.time, встроенный в Java 8 и более поздние версии . Найдите обратные порты для более ранних Java 6 и 7 и для Android .

Instant момент времени на временной шкале в UTC .

 Instant now = Instant.now(); 

Примените часовой пояс ( ZoneId ), чтобы получить ZonedDateTime .

Никогда не используйте аббревиатуры 3-4 буквенных зон, такие как EST или IST . Они не являются ни стандартизированными, ни уникальными (!). Используйте правильные названия часовых поясов , построенные в формате continent/region , такие как Asia/Kolkata , Pacific/Auckland , America/Los_Angeles .

 ZoneId zoneId_Montreal = ZoneId.of( "America/Montreal" ); ZonedDateTime zdt_Montreal = ZonedDateTime.ofInstant( instant , zoneId_Montreal ); 

Примените другой часовой пояс для создания другого ZonedDateTime настроенного на этот часовой пояс. Вызовите с помощью withZoneSameInstant .

 ZoneId zoneId_Paris = ZoneId.of( "Europe/Paris" ); // Or "Asia/Kolkata", etc. ZonedDateTime zdt_Paris = zdt_Montreal.withZoneSameInstant( zoneId_Paris ); 

Если вы хотите вернуться в UTC , попросите Instant .

 Instant instant = zdt_Paris.toInstant(); 
 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); 
 //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("Ymd H:i:s"); date_default_timezone_set($cur_zone); $local = date("Ymd H:i:s"); date_default_timezone_set($req_zone); $required = date("Ymd 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("Ymd H:i:s"); } 

Код, чтобы получить время в Берлине и превратить его в время 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); 
  • Управление календарем, датой и временем java для приложения с несколькими часовыми поясами
  • Как конвертировать datetime в timestamp с помощью C # /. NET (игнорируя текущий часовой пояс)
  • Получение даты с на несколько часов
  • Как мне заполнить список часовых поясов IANA / Olson от Noda Time?
  • Изменение часового пояса MySQL?
  • Как установить часовой пояс по умолчанию в node.js?
  • Параметр DateTime с часовым поясом формы PST / CEST / UTC / etc.
  • Как обрабатывать календарные часовые пояса с помощью Java?
  • Мне нужен список сопоставлений городов для timezones - лучший способ получить его?
  • .NET DateTime.Now возвращает неправильное время, когда изменяется часовой пояс
  • Как использовать пользовательское время в браузере для проверки разницы во времени между клиентом и сервером
  • Interesting Posts

    Как проверить задержку в сети?

    Начиная с Zend Tutorial – Zend_DB_Adapter throws Exception: “SQLSTATE Нет такого файла или каталога”

    Как выполнить поисковый запрос с Firebase с помощью Android FirebaseUI

    Как вы получаете общедоступную ссылку на файл в Dropbox, который не находится в общей папке?

    Как «Удалить производные данные» в Xcode 6 и более поздних версиях?

    byte поиск шаблона массива

    Как узнать, является ли текущий пользователь Admin из командной строки Windows?

    Как определить, находится ли один из моих действий на переднем плане

    Отключение принтера до перезапуска службы спулера

    Как добавить маркированный список в приложение для Android?

    Установка значения по умолчанию для свойства DateTime в DateTime.Now внутри значения System.ComponentModel Default Attrbute

    вызов main () в main () в c

    Изменение цвета фона элементов ListView на Android

    Как отображать изображение с помощью загрузочных данных WebView?

    Клавиатура USB не будет работать после Post, но до загрузки ОС

    Давайте будем гением компьютера.