Задать вопрос
muhammad_97
@muhammad_97
PHP-разработчик

Узнать время в нужном мне часовом поясе?

Как можно узнать текущее время в нужном мне часовом поясе? А точнее UTC-0?
  • Вопрос задан
  • 392 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Используем класс SimpleDateFormat:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = format.parse("2015-01-23T09:10:00");
Ответ написан
Комментировать
@utor
в java.util.Date время хранится в GMT, но при использовании toString() добавляется TimeZone по умолчанию из настроек JVM see java.util.Date#toString и внимательно java.util.Date#normalize. Чтобы получить java.util.Date скоректированое :
Calendar c = Calendar.getInstance();
    TimeZone z = c.getTimeZone();
    int offset = z.getRawOffset();
    if(z.inDaylightTime(new Date())){
        offset = offset + z.getDSTSavings();
    }
    int offsetHrs = offset / 1000 / 60 / 60;
    int offsetMins = offset / 1000 / 60 % 60;
    c.add(Calendar.HOUR_OF_DAY, (-offsetHrs));
    c.add(Calendar.MINUTE, (-offsetMins));

   return с.getTime();
Ответ написан
Комментировать
@achist
Calendar calendar = Calendar.getInstance(TimeZone)
В календаре как раз будет текущее время в нужной таймзоне, и дальше с этим календарем можно что угодно делать, например получить представление в виде Long или Date.
TimeZone получить тоже просто TimeZone.getTimeZone(ID), ID - строка идентификатор зоны
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы