找到两次之间的差异,我已经编写了这段代码,但日期解析根本不起作用。 显示DateFormat.parse语句之前的Toast但不显示该语句之后的Toast。我没有得到问题所在。有人可以在此代码中找到任何错误吗? 提前谢谢。
private long findDelay(String currentTime, String startTime)
{
//currentTime = "10:58 AM" and startTime = "9:28 AM"
long diff=0;
currentTime="6/1/16 "+currentTime;
startTime="6/1/16 "+startTime;
DateFormat format=DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
try
{
Toast.makeText(this,"before parsing",Toast.LENGTH_SHORT).show();
Date date1=format.parse(currentTime);
Date date2=format.parse(startTime);
Toast.makeText(this,"after parsing",Toast.LENGTH_SHORT).show();
diff=date1.getTime()-date2.getTime();
}catch (Exception e)
{
e.printStackTrace();
}
return diff/60000;
}
使用SimpleDateFormat:
private long findDelay(String currentTime, String startTime)
{
long diff=0;
//currentTime = "10:58" and startTime = "9:28"
SimpleDateFormat format=new SimpleDateFormat("hh:mm");
try
{
Toast.makeText(this,"before parsing",Toast.LENGTH_SHORT).show();
Date d1 = format.parse(currentTime);
Date d2 = format.parse(startTime);
Toast.makeText(this,"after parsing",Toast.LENGTH_SHORT).show();
diff=d1.getTime()-d2.getTime();
}catch (Exception e)
{
e.printStackTrace();
}
return diff/60000;
}