0

我有一个应用程序可以从数据库中检索以日期时间格式格式化的字符串,并且我只想在某些情况下显示时间,我将如何做到这一点?

这是我迄今为止尝试过的,但我得到了一个不可解析的错误

public static final String DATE_TIME_FORMAT = "yyyy-MM-dd kk:mm:ss";
private static final String TIME_FORMAT = "kk:mm";

// ...

SimpleDateFormat TimeFormat = new SimpleDateFormat(TIME_FORMAT);
Date startTimer = null;
Date endTimer = null;

try
{
    String dateString = cursor.getString(6); 
    startTimer = TimeFormat.parse(dateString); 

    //Code for End Time
    String endDateString = cursor.getString(7); 
    endTimer = TimeFormat.parse(endDateString);

    totalBillable += endTimer.getTime() - startTimer.getTime();             
}
catch (ParseException e)
{
    Log.e("ReminderEditActivity", e.getMessage(), e);
}
4

2 回答 2

0

构造一个代表你想要的格式,并在你只需要时间时使用它:

DateFormat df = new SimpleDateFormat("HH:mm:ss");
String onlyTime = df.format(new Date());

演示:http: //ideone.com/AziDU

于 2012-08-15T17:20:18.067 回答
0

我猜你得到的Unparsable error是因为你正在解析一个具有不同格式的字符串日期。尝试这个:

String dateString = cursor.getString(6); 
startTimer = TimeFormat.parse(dateString.substring(11, 16)); 

String endDateString = cursor.getString(7); 
endTimer = TimeFormat.parse(endDateString.substring(11, 16));

希望通过这种substring()方法,您将获得kk:mm日期格式。

于 2012-08-15T18:25:08.193 回答