Android从通话记录中提取通话的时间

问题描述:

我正在循环访问通话记录并将通话的日期保存到数组中。在这个过程中,我得到像日期通话记录循环1315164925580. 部分:Android从通话记录中提取通话的时间

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

如何提取通话时间?

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

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

工作,谢谢! – erdomester

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

展开您的SimpleDateFormat格式字符串(在构造函数),包括时间等参数:"hh:mm a"