Странное поведение SWT DateTime

Я использую виджет SWT DateTime и получил очень странное поведение. Если я выберу любую дату из месяца «февраль», «апрель» или «июнь», отображаемая дата — это дата, которую я выбрал, но с месяцем «январь». В моей базе данных сохраняется правильная дата, только отображаемая дата в моем редакторе неверна. Остальные месяцы работают нормально. В следующем примере показано, как я устанавливаю свой объект «Date» в своем объекте «DateTime».

Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
dateTime.setYear(calendar.get(Calendar.YEAR));
dateTime.setMonth(calendar.get(Calendar.MONTH));
dateTime.setDay(calendar.get(Calendar.DAY_OF_MONTH));

Я не могу объяснить это поведение. Для меня это похоже на ошибку в виджете DateTime. Есть советы, как этого избежать?


person AnarchoEnte    schedule 31.01.2013    source источник
comment
Можете ли вы показать, что именно вы используете как date для calendar.setTime(date);?   -  person Baz    schedule 31.01.2013
comment
Странное поведение продолжается: сегодня (01.02.2013) я снова протестировал его, и он отлично работает. Но если я установлю дату своего ПК на 2013-01-31, проблема возникнет снова. То же самое, если я установил дату своего ПК на 2013-03-31. Проблема появляется только в определенные дни. Дата, которую я поместил в свой календарь, например, 2012-06-15 08:14:12.0 (date.toString()) и виджет отображает 15.01.2012, если локаль PC-Date установлена ​​здесь как 2013-01-31, но правильное значение 15.06.2012, если локаль PC-Date сегодня (2013-02-01) ...   -  person AnarchoEnte    schedule 01.02.2013
comment
Решил проблему сейчас. Решение описано в этой ветке ошибок: bugs.eclipse.org/bugs/ show_bug.cgi?id=190254. Хитрость заключается в том, чтобы установить day_of_month перед установкой месяца в моем DateTime-Widget   -  person AnarchoEnte    schedule 18.02.2013
comment
@AnarchoEnte Вы должны принять ответ, который вы разместили, в качестве комментария и поместить его ниже в этом большом поле «Ваш ответ». Совершенно нормально давать официальный ответ на свой вопрос. И нажмите зеленую галочку, чтобы принять его. Читатели узнают, что вопрос решен.   -  person Basil Bourque    schedule 23.02.2014


Ответы (1)


Решил проблему сейчас. Решение описано в этой ветке ошибок: bugs.eclipse.org/bugs/show_bug.cgi?id=190254. Хитрость заключается в том, чтобы установить day_of_month перед установкой месяца в моем DateTime-Widget

person AnarchoEnte    schedule 24.02.2014