在JAVA中将时间字段H:M转换为整数字段(分钟) [英] Convert time field H:M into integer field (minutes) in JAVA
问题描述
JTable包括时间字段,例如01:50。我需要将此值读入整数变量。为此,我想将时间转换为分钟。例如,01:50应转换为110.
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();
其次,我将处理此String并提取符号<$之前和之后的整数C $ C>:。最后,我将计算总分钟数。
这个解决方案有效吗?也许,有可能用日历代替它或者像这样吗?
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?
推荐答案
我不认为使用日历/日期对于这种情况,将比直接解析更好。如果你的时间格式确实是H:m,那么我认为你不需要比这更复杂的东西:
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;
}
这篇关于在JAVA中将时间字段H:M转换为整数字段(分钟)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!