【发布时间】:2017-06-14 14:08:56
【问题描述】:
我有两个String 变量:
-
time22会存储Linux命令生成的时间 -
timeInTheList将存储我的ArrayList的时间
time22 将获取最新时间,而timeInTheList 将存储一些以前的时间。
我想比较这两次是否超过了 30 分钟,但我无法做到。
我发现打印了一些奇怪的日期、时间和年份数据,我只需要时间,不需要任何日期或年份。
代码:
for(int x = 1;x<list1.size();x+=3)
{
try{
System.out.println("The time grab by linux command :"+time22);
String timeInTheList = list1.get(x);
System.out.println("The time in the balcklist.txt :" +timeInTheList);
SimpleDateFormat dateFormat1 = new SimpleDateFormat("HH:MM:SS");
Date Ftime1 = dateFormat1.parse(timeInTheList);
Date Stime2 = dateFormat1.parse(time22);
System.out.println("The Ftime1 value is :" +Ftime1);
System.out.println("The Stime2 value is :" +Stime2);
long diff1 = Stime2.getTime() - Ftime1.getTime();
System.out.println(Stime2.getTime());
System.out.println(Ftime1.getTime());
System.out.println("Difference between two time is :"+diff1);
if(diff1 > 1800)
{
System.out.println("it is more than 30 minute in the list");
String DeletedRule = list1.get(x+1).toString();
FinalDeletion(DeletedRule);
}
else
{
System.out.println("Keep in the list first,still not reach 30 minute");
}
}
catch(ParseException e)
{
e.printStackTrace();
}
}
这是我的程序的输出:
Time from linux command(In TimeIsNow Method) :22:02:50
The time grab by linux command :22:02:50
The time in the balcklist.txt :21:19:46
The Ftime1 value is :Thu Jul 01 21:00:00 MYT 1971
The Stime2 value is :Sun Feb 01 22:00:00 MYT 1970
2730600050
47223000046
Difference between two time is :-44492399996
Keep in the list first,still not reach 30 minute
【问题讨论】:
-
你用 jodatime 标签标记了这个问题,但你的代码没有使用它。您是否正在使用(或想要使用)Joda-Time?
-
我有 joda-time 库,但我不确定如何在这种情况下使用它。我将它用于其他目的
-
@yumi 将此类澄清发布为对您的问题的编辑而不是评论。
标签: java time jodatime date-comparison