The JTable includes the time field, e.g. "01:50". I need to read this value into the integer variable. For this I´d like to convert time into minutes. For instance "01:50" should be converted into 110.
To solve the task, first I saved the time value as a String.
String minutS = tableModel.getValueAt(1,1).toString();
Secondly, I´m going to process this String and extract the integers before and after the symbol :. Finally I will calculate the total minutes.
Is this solution efficient? Perhaps, it´s possible to substitute it with Calendar or sth like this?
解决方案
I don't think using Calendar/Date will be better than straightforward parse for this case. If your time format is indeed H:m, then I don't think you need anything more complex than this:
/**
* @param s H:m timestamp, i.e. [Hour in day (0-23)]:[Minute in hour (0-59)]
* @return total minutes after 00:00
*/
private static int toMins(String s) {
String[] hourMin = s.split(":");
int hour = Integer.parseInt(hourMin[0]);
int mins = Integer.parseInt(hourMin[1]);
int hoursInMins = hour * 60;
return hoursInMins + mins;
}