java中两个时间的差异
我已经搜索并找到了很多不同的东西,但没有一件能真正帮助我找到我想要的东西。我有两个JComboBox,用户可以在其中选择不同的时间。比如说8:00和17:30。现在我希望能够显示这些时间之间的差异,所以在本例中为9.5。我希望是9点5分,而不是9点30分。但是我的代码是9.3,因为它只是将我的字符串转换成一个double 任何帮助都会很好java中两个时间的差异,java,date,jcombobox,Java,Date,Jcombobox,我已经搜索并找到了很多不同的东西,但没有一件能真正帮助我找到我想要的东西。我有两个JComboBox,用户可以在其中选择不同的时间。比如说8:00和17:30。现在我希望能够显示这些时间之间的差异,所以在本例中为9.5。我希望是9点5分,而不是9点30分。但是我的代码是9.3,因为它只是将我的字符串转换成一个double 任何帮助都会很好 public void displaytotal() { Object sunBobj, sunEobj, mon, tues, wed, thur,
public void displaytotal() {
Object sunBobj, sunEobj, mon, tues, wed, thur, fri, sat;
double totalD;
sunBobj = jComboBox1.getSelectedItem();
sunEobj = jComboBox2.getSelectedItem();
String sunB = sunBobj.toString();
String sunE = sunEobj.toString();
try {
double sundB = Double.parseDouble(sunB.replace(":", "."));
double sundE = Double.parseDouble(sunE.replace(":", "."));
totalD = ((sundE - sundB)) * 24;
String totalS = "" + totalD;
jLabel17.setText(totalS);
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
您可以在小时/分钟内拆分
hh:mm
字符串:
String[] time = sunB.split(":");
int hours = Integer.parseInt(time[0]);
int minutes = Integer.parseInt(time[1]);
double decimalTime = hours + minutes / 60.0;
您可以在小时/分钟内拆分
hh:mm
字符串:
String[] time = sunB.split(":");
int hours = Integer.parseInt(time[0]);
int minutes = Integer.parseInt(time[1]);
double decimalTime = hours + minutes / 60.0;
你能选择多个日期的时间吗(你需要担心夏令时吗)?为什么不使用
Date
s?你似乎没有确认你的结束是在你的开始之后,你想要一个“消极”的持续时间吗?您应该将输入与组合框分开,并将输出与标签分开。您可以选择多个日期的时间吗(您是否需要担心夏令时)?为什么不使用Date
s?你似乎没有确认你的结束是在你的开始之后,你想要一个“消极”的持续时间吗?您应该将输入与组合框分开,并将输出与标签分开。@SiddharthRout我不知道您也使用java!哈哈,没有Java不属于我的专长范围,但我在某种程度上可以理解:)@SiddharthRout我不知道你也学过Java!LOL没有Java不属于我的专业知识范围
,但我可以在某种程度上理解它:)