我在我的應用程序中使用了2個JSpinner控件,允許用戶輸入24小時制HH:mm格式。我試圖驗證開始時間之後是否結束時間。但它似乎沒有按預期工作。請幫助我什麼是正確的方式來做到這一點。如何比較使用JSpinner輸入的時間?
我的微調控制是這樣的:
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 24);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
startModel.setValue(calendar.getTime());
JSpinner spnStartTime = new JSpinner(startModel);
JSpinner.DateEditor editor = new JSpinner.DateEditor(spnStartTime, "HH:mm");
DateFormatter formatter1 =(DateFormatter)statTimeEditor.getTextField().getFormatter();
formatter1.setAllowsInvalid(false);
formatter1.setOverwriteMode(true);
spnStartTime.setEditor(statTimeEditor);
我做同樣的事情也spnEndTime。
而這正是我想現在要做的:
SimpleDateFormat parser = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy",Locale.ENGLISH);
Date st=parser.parse(String.valueOf(spnStartTime.getValue()));
Date en=parser.parse(spnEndTime.getValue().toString());
if(en.after(st))
{
//do stuff
}
else
{
//display error
}
但spnStartTime.getValue()於1970年返回的日期,我的編輯器設置爲當前年份。所以我的日期比較不能按預期工作。我嘗試使用st.setHours(Calendar.getInstance()。getTime()。getHours());同樣也適用於'en'。但getHours()現在已被棄用。那麼對此有什麼合適的解決方法?
爲了更快得到更好的幫助,請發佈[MCVE]或[簡短,獨立,正確的示例](http://www.sscce.org/)。 –
在較短的筆記中,我如何比較從2個JSpinner控件獲取的(HH:mm)時間值作爲用戶輸入?我如何從Date對象中檢索小時和分鐘部分。任何關於這些的幫助對我來說都是很有價值的。 – developer3
上次我發佈了一個不同的問題,人們評論說,如果有人應該幫助我,我應該發佈更詳細的代碼。所以這次我發佈了細節,我只看到了降價。我應該發佈什麼?!!! – developer3