Я искал и нашел много разных вещей, но ни один из них фактически не помогает получить то, что я ищу. У меня есть два JComboBoxes, в которых пользователь может выбирать разные времена. Например, скажем, 8:00 и 17:30. Теперь я хочу показать разницу между этими моментами, поэтому в этом случае это будет 9.5. Я хочу, чтобы это было в 9,5, а не 9:30. Но мой код делает 9.3, потому что он просто преобразует мою строку в double.разница между двумя временами в java
Любая помощь будет большим
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);
}
}
Вы можете выбрать время между несколькими датами (и вы должны беспокоиться о сбережения дневного света время)? Почему вы не используете 'Date'? Вы, похоже, не проверяете, что ваш конец после вашего начала, вы хотите «отрицательную» продолжительность? Вы должны отделять ввод от поля со списком и выводить его на ярлык. –