DateFormat.parse不起作用。试图找到两次之间的差异

时间:2016-01-06 07:25:04

标签: java android date-format

找到两次之间的差异,我已经编写了这段代码,但日期解析根本不起作用。 显示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;
}

0 个答案:

没有答案