在Java Swing中从JSpinner获取毫秒数

时间:2019-04-05 07:52:22

标签: java date milliseconds jspinner

我正在尝试提取实际时间与JSpinner控件(spnTimer)定义的时间之间的毫秒数。 JSpinner格式为:hh:mm:ss 由于我是Java的新手,因此无法获得理想的结果。 当我尝试将微调时间转换为字符串时,我要回到1970年。 任何帮助将不胜感激。

String s = spnTimer.getValue().toString();
System.out.println("spinner time: "+ s);

结果:     旋转器时间:1970年1月1日星期四09:43:19 CET

1 个答案:

答案 0 :(得分:0)

微调器正在返回“ epoch”值。传统上,该时期对应于特定日期的0小时,0分钟和0秒(00:00:00)协调世界时(UTC),该时间因系统而异,并且此后的时期值以秒为单位。 试试下面的代码,我敢打赌

Date spinnerValue = (Date) spinner.getValue();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MMM/dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MMM/dd HH:mm:ss");
Date actualDate = sdf2.parse(sdf1.format(new Date()) + " " + sdf.format(spinnerValue), new ParsePosition(0));

希望这会有所帮助