Хобрук: Ваш путь к мастерству в программировании

Дата/время изменены на текущее время сервера в календаре Java при добавлении секунд

Я создаю объект календаря из строки даты, которую я получаю.

        Calendar cal = Calendar.getInstance();
    String date = "example Mon, 22 Oct 2012 23:58:31 GMT";
    SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
    sdf.setTimeZone (TimeZone.getTimeZone ("PST"));
    try {
        cal.setTime(sdf.parse(date));  
    } catch (ParseException e) {
        e.printStackTrace();

    }
   System.out.println("date "+sdf.format(cal.getTime()));

Эта дата без проблем преобразует и печатает время по Гринвичу в PST.

Затем я перебираю массив объектов элементов и добавляю секунды

int offset = element.getSeconds;
cal.add(Calendar.SECOND, offset);
System.out.println("times cal offset: " + cal.getTime());

Этот кал теперь печатает время сервера (восточное время), а не преобразованное время по Гринвичу, которое напечатано выше. Что-то обходит кал, созданный из даты строки gmt, когда добавляются секунды?

Спасибо!


Ответы:


1

Это потому, что вы не используете SDF с установленным часовым поясом по Гринвичу для печати во второй раз.

30.11.2012
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..