2011-04-01 119 views
2

我正在使用JSpinner輸入時間;然而,當我使用getValue方法時,我獲得了1970年1月1日的時間,因爲這是默認日期開始。我怎樣才能獲得時間和時間?我對日期不感興趣JSpinner專用時間

注意:我已經使用了dateEditor。也許我的JSpinnerDateModel不合適?

+0

看到這個問題的答案:http://stackoverflow.com/questions/654342/is-there-any-good-and-free-date-and-time-picker-available-for-java-swing – 2012-04-25 14:23:24

回答

4

您可以創建一個JSpinner的實例,並將它格式化日期作爲時間,然後只提取時間結尾:

JSpinner jSpinner1 = new JSpinner(); 
    Calendar calendar = Calendar.getInstance(); 
    calendar.setTime(new Date(0)); 
    Date earliestDate = calendar.getTime(); 
    calendar.add(Calendar.MINUTE, 1439); // number of minutes in a day - 1 
    Date latestDate = calendar.getTime(); 
    SpinnerDateModel model = new SpinnerDateModel(earliestDate, 
      earliestDate, 
      latestDate, 
      Calendar.MINUTE); 
    jSpinner1.setModel(model); 
    jSpinner1.setEditor(new JSpinner.DateEditor(jSpinner1, "hh:mm")); 

    Date d = (Date)jSpinner1.getValue(); 
    Calendar c = Calendar.getInstance(); 
    c.setTime(d); 
    c.get(Calendar.HOUR); 
    c.get(Calendar.MINUTE); 
+0

我得到了你的建議的第一部分......但是如何提取單獨的時間? – 2011-04-01 15:35:35

+0

我更新了我的答案 - 希望這有助於 – tofarr 2011-04-01 15:40:00

+0

這是否給你兩個值?你會如何將它們合併成一個值?我將這個價值放在一張桌子上,因此他們需要成爲一個。 – 2011-04-01 15:52:59