2012-12-25 4 views
0
SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss"); 

try { 
    Date date = (Date) format.parse(a); 
    Date date1 = (Date) format.parse(b1); 
    Date date2 = (Date) format.parse(c); 

    long diff1 = date1.getTime()-date.getTime(); 
    long diff2 = date2.getTime()- date.getTime(); 

    bundle.putLong("df1", diff1); 
    bundle.putLong("df2", diff2); 

} catch (ParseException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
내가 두 시간 값하지만이 작동하지 사이의 차이를 찾기 위해 위의 코드를 시도

이 오류가오고있다 :안드로이드에서 두 시간 값의 차이점을 찾는 방법은 무엇입니까?

12-25 09:00:56.537: W/System.err(1642): java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date 

답변

0
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date 

는 => 가져 오기를 확인, 올바른이 java.util.Date

입니다
0

당신은 같은 얻을 시도 할 수

java.sql.Date date = new java.sql.Date(format.parse(a)); 
    java.sql.Date date1 = new java.sql.Date(format.parse(b1)); 
    java.sql.Date date2 = new java.sql.Date(format.parse(c)); 
0

나는 것 아래 결함이있는 java.util.Date 및 friends 대신 우수한 Joda Time 라이브러리를 사용하는 것이 좋습니다. 간단히 쓸 수 있습니다

import java.util.Date; 
import org.joda.time.DateTime; 
import org.joda.time.Days; 

Date past = new Date(110, 5, 20); // June 20th, 2010 
Date today = new Date(110, 6, 24); // July 24th 
int days = Days.daysBetween(new DateTime(past), new DateTime(today)).getDays();