2013-01-31 50 views
0

我正在使用SWT DateTime小部件,並得到了一個非常奇怪的行爲。如果我從月份「二月」,「四月」或「六月」中選擇任何日期,則顯示的日期是我選擇的日期,但是月份爲「一月」。在我的數據庫中保存了正確的日期,只有在我的編輯器中顯示的日期是錯誤的。其他月份工作正常。下面的例子是我如何在我的「DateTime」對象中設置我的「Date」對象。SWT 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小部件中的錯誤。任何提示如何避免這種情況?

+0

您可以顯示「date.setTime(date);'的具體使用日期嗎? – Baz

+0

奇怪的行爲仍在繼續:今天(2013-02-01)我再次測試它,它工作正常。但是,如果我將我的PC日期設置爲2013-01-31,則問題再次出現。如果我將我的PC日期設置爲2013-03-31,則相同。這個問題似乎只發生在特定的日子。我放入日曆的日期是「2012-06-15 08:14:12.0」('date.toString()'),如果區域設置PC-Date設置爲2013-01-31,但窗口小部件顯示「15.01.2012」 15.06.2012「如果語言環境PC日期是今天(2013-02-01)... – AnarchoEnte

+0

現在解決了問題。該解決方案在這個bugzilla線程中描述:https://bugs.eclipse.org/bugs/show_bug.cgi?id = 190254。訣竅是在設置DateTime-Widget中的月份之前設置day_of_month – AnarchoEnte

回答

0

現在解決了這個問題。該解決方案在此bugzilla線程中描述:bugs.eclipse.org/bugs/show_bug.cgi?id=190254。訣竅是在設置DateTime-Widget中的月份之前設置day_of_month