我正在尝试从中调用日志中提取信息 机器人。我收到了一个月的通话日期 实际通话时间。我的意思是说提取的信息 我的呼叫日期代码比实际呼叫晚一个 日期。
我在模拟器中有以下内容:
我保存了一个联系人。然后我打电话给联系人。
代码:
我有三种提取呼叫日期信息的方法,但是相同 错误的结果。我的代码如下:
/* Make the query to call log content */
Cursor callLogResult = context.getContentResolver().query(
CallLog.Calls.CONTENT_URI, null, null, null, null);
int columnIndex = callLogResult.getColumnIndex(Calls.DATE);
Long timeInResult = callLogResult.getLong(columnIndex);
/* Method 1 to change the milliseconds obtained to the readable date formate */
Time time = new Time();
time.toMillis(true);
time.set(timeInResult);
String callDate= time.monthDay+"-"+time.month+"-"+time.year;
/* Method 2 for extracting the date from tha value read from the column */
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
String Month = calendar.get(Calendar.MONTH) ;
/* Method 3 for extracting date from the result obtained */
Date date = new Date(timeInResult);
String mont = date.getMonth()
使用Calendar方法时,我也尝试设置DayLight 保持抵消,但它没有奏效,
calendar.setTimeZone(TimeZone.getTimeZone("Europe/Paris"));
int DST_OFFSET = calendar.get( Calendar.DST_OFFSET ); // DST_OFFSET
Boolean isSet = calendar.getTimeZone().useDaylightTime();
if(isSet)
calendar.set(Calendar.DST_OFFSET , 0);
int reCheck = calendar.get(Calendar.DST_OFFSET );
但是在重新检查中该值未设置为0。我弄错了 月份值也可以使用它。
请有人帮助我,我错了吗?或者这是错误 模拟器??
谢谢, Nishant Kumar 工科学生
答案 0 :(得分:1)
Calandar的月份是0到11 您需要在Caladar给您的月份中添加1。 我知道,这很奇怪。
答案 1 :(得分:0)
尝试new Date(timeInResult);