Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как взять текущее время из определенной TimeZone


Автор: googol 7.5.2009, 16:29
мне нужно узнать текущее время в определенной  TimeZone  например "UTC"
Код

        TimeZone utc = TimeZone.getTimeZone( "UTC" );
        Calendar utctime= Calendar.getInstance(utc);

        System.out.println("getHours: "+utctime.getTime().getHours());
        System.out.println("HOUR_OF_DAY: "+utctime.get(Calendar.HOUR_OF_DAY));

        System.out.println(Calendar.getInstance().getTime());
        

результат

getHours: 16
HOUR_OF_DAY: 13
Thu May 07 16:15:33 EEST 2009

то есть utctime.getTime() отдает время моей тайм зоны 
хотя utctime.get(Calendar.HOUR_OF_DAY) отдает верное значение 

как мне из Calendar получить java.util.Date  в нужной мне тайм зоне ?

Автор: LSD 7.5.2009, 17:15
getTime() всегда возвращает количество миллисекунд прошедших с 1 января 1970 года в UTC. Т.е. это просто интервал времени в миллисекундах и у него нет и не может быть никаких временных зон.

Автор: rygel 7.5.2009, 18:48
Код

Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
int hour12 = cal.get(Calendar.HOUR);
int minutes = cal.get(Calendar.MINUTE);
int seconds = cal.get(Calendar.SECOND);

Автор: googol 7.5.2009, 18:54
Почему getTime().toString()  выводит мое время ?

Добавлено через 4 минуты и 3 секунды
Цитата(rygel @ 7.5.2009,  18:48)




Цитата

Код

Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
int hour12 = cal.get(Calendar.HOUR);
int minutes = cal.get(Calendar.MINUTE);
int seconds = cal.get(Calendar.SECOND);



мне нужно получить java.util.Date  из Calendar 

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

что бы вывести в нужном формате 

SimpleDateFormat  кушает Date или  long

Автор: rygel 8.5.2009, 12:01
http://forum.vingrad.ru/faq/topic-157990.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)