java比较文本文件中的24小时时间值
我想比较一个以空格分隔的文本文件中给出的时间值,该文件的内容是这样的
驾车者汤米之旅汤米08:15 08:45 18.3
我知道我可以通过创建扫描仪来读取文件来指定对象
try
{
File fin = new File("data.txt");
Scanner scan = new Scanner(fin);
ArrayList<String> theData = new ArrayList<String>();
//read the column headings from the flat text file
String line = scan.nextLine();
while(scan.hasNextLine())
{
line = scan.nextLine();
String[] list = line.split(" "); //this is space delimited
//objects in the text file
String driver = list[1];
String trip = list[3];
}
}
在确保driver和trip字符串值相同后,我想比较时间值,但不确定如何将它们作为基本数据类型进行访问。我想做一些像
long initTime = list[4];
但是这个值有一个冒号,我可以得到一些帮助来比较给定文本文件中的时间值吗
# 1 楼答案
您需要确定两次之间的分钟数?持续时间如何?您可能需要使用Java8的LocalTime。首先分析日期:
然后获取它们之间的分钟数:
这将给出第一次和第二次之间的分钟数。假设第一次总是早于第二次,并且它们代表相同的日历日
编辑:如果只想使用原语,请将日期解析为两个整数,用冒号分割。将小时乘以60,然后再加上分钟,得到表示自午夜起的分钟数的初始时间