计算两个EditText

时间:2016-06-03 16:30:23

标签: android date time timepicker

我已经看到几乎类似的问题,但我不会按照我的意愿工作。实际上根本没有。

所以我一直在尝试计算使用TimePicker设置的两个时间戳与两个EditTexts之间的时差。

以下是我无法工作的代码:

public void calcTime() throws Exception{
    String startTime = startworkFrom.getText().toString();
    String endTime = startworkTo.getText().toString();

    DateFormat format = new SimpleDateFormat("hh:mm a");
    Date time_1 = format.parse(startTime);
    Date time_2 = format.parse(endTime);

    long timeDiff = time_2.getTime() - time_1.getTime();

    System.out.println("Time difference" + timeDiff);
}

代码中缺少什么?

更新

我发现了这一行的问题:

  

DateFormat format = new SimpleDateFormat(" hh:mm a");

如果我删除' a '。 价值也很高。如果我将12:00设置为13:00,差异应该是1.但是我在这里获得了非常大的价值。我将使用

2 个答案:

答案 0 :(得分:0)

  

现在唯一的问题是如果我开始深夜工作   早上停止工作我会得到一个负值,但我想   对于另一个主题有一个修复。

这应该这样做

String neg = "-"; 
    long timeDiff;  
    if(timeDiff.contains(neg)){ 
    timeDiff = time_1.getTime() - time_2.getTime(); }
else{ timeDiff =
    time_2.getTime() - time_1.getTime(); }
    System.out.println("Time difference" + timeDiff);

答案 1 :(得分:0)

负值的解决方案是使用Math库。 我确实喜欢这个:

String a =""+Math.abs(diff/(60*60*1000)%24);