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


Автор: goodday1941 9.2.2007, 13:15
Есть метод который берет массив времен и возвращает строку с этими временами, только уже для jmt+0:00, Но он почему то не работает:

Код

    private String fromTimeArrayToString(Time [] times) {
        String out = "{";
        TimeZone tmp = TimeZone.getDefault();
        for (int i = 0; i < times.length; i++) {
            Calendar calendar = Calendar.getInstance(tmp);
            calendar.setTimeInMillis(times[i].getTime());
            calendar.setTimeZone(TimeZone.getTimeZone("GMT+0:00"));
            out = out + (new Time(calendar.getTime().getTime())).toString() + ",";
            calendar.setTimeZone(tmp);
        }
        out = out.substring(0, out.length() - 1) + "}";
        return out;
    }


подскажите где ошибка?

Автор: goodday1941 9.2.2007, 13:49
зановит то же время что и дается на вход, а не здвинутое на несколько часов как нужно мне

Автор: LSD 9.2.2007, 15:01
1. Что это за класс Time?

2. Время в Java всегда храниться в GMT. TimeZone будет иметь значение только при использовании calendar.get(Calendar.MINUTE) и т.п. (соответвенно при форматировании даты тоже).

Автор: goodday1941 9.2.2007, 15:10
Time - java.sql.Time

Добавлено @ 15:11 
задача такая.... ест Time в gmt+2:00 а в базу данных должно занестись gmt+0:00.. вот...

Автор: LSD 9.2.2007, 15:17
Думаю надо получить время в long вычесть из него TimeZone.getRawOffset() и снова создать объект java.sql.Time с вычисленным значением времени.

Автор: goodday1941 9.2.2007, 15:27
хорошо сейчас попробую.. спасибо за совет

Автор: goodday1941 9.2.2007, 15:48
пасиба все получилось!
Вижу я тут сотню набил.. в общем за всю помощь предоставленную за это время спасибо.. очко твое smile

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