Android从通话记录中提取呼叫时间

时间:2011-10-19 17:56:45

标签: android calllog

我正在循环调用日志并将调用日期保存到数组中。在此过程中,我得到的日期为1315164925580。 呼叫日志循环的一部分:

int dateColumn = c.getColumnIndex(android.provider.CallLog.Calls.DATE);
long callDate = c.getLong(dateColumn);

我可以把这长久变成一个日期:

SimpleDateFormat datePattern = new SimpleDateFormat ("yyyy-MM-dd");
Long datelong = Long.parseLong("1315164925580");
String date_str = datePattern.format(new Date(datelong));

结果:2011-09-04

如何提取通话时间?

3 个答案:

答案 0 :(得分:2)

你应该使用DateFormat.getDateTimeInstance方法而不是SimpleDateFormat,如果neaded在get方法中指定输出格式。

DateFormat datePattern = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM);
Long datelong = Long.parseLong("1315164925580");
String date_str = datePattern.format(datelong);

答案 1 :(得分:1)

使用此SimpleDateFormat格式字符串:yyyy-MM-dd HH:mm:ss

答案 2 :(得分:0)

展开您的SimpleDateFormat格式字符串(在构造函数中)以包含时间参数,例如:"hh:mm a"