2011-01-04 2 views
0

DatePicker 위젯에서 dat을 가져 와서 앱 내의 sqlite 데이터베이스에 저장하는 데 도움이되는 정보가 필요합니다. 다음 코드가 있습니다.Android에서 날짜 관련 도움말

java.util.Date utilDate = null; 
      String y = Integer.toString(date.getDayOfMonth()) + "/" + (date.getMonth()+1) + "/" + Integer.toString(date.getYear()); 
      SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyy"); 
      utilDate = formatter.parse(y); 
      java.sql.Date z = new java.sql.Date(utilDate.getDate()); 
      x = z.toString(); 
      Log.v("The date: ", x); 
} 

여기서 date는 DatePicker 위젯입니다. logCat을 사용하여 utilDate 변수 (예 : Java 버전)를 출력하면 다음과 같은 형식을 제공합니다. Tue Jan 04 00:00:00 GMT 2011 내가 기대하고 있지만 위의 코드를 사용하면 날짜의 SQL 버전, 그것은 항상 나에게 1970-01-01 날짜를 준다. 나는이 솔루션이 매우 간단하다고 확신하지만 나는 그것을 볼 수 없다.

+0

나는 잘 모르겠지만 귀하의 코드는 java.sql.Date z = new java.sql.Date (utilDate)이어야한다고 생각합니다. – Sandy

답변

2

이 부분은 utilDate.getDate()입니다. Javadoc에서

인용구 :

이 날짜 객체가 나타내는 월의 일을 반환합니다. 돌려 주어지는 값은,이 Date 오브젝트가 나타내는 시점을 포함하는지, 그 시점에서 시작되는 달의 날을 나타내는 1에서 31의 사이이며, 로컬 시간대로 해석됩니다.

이렇게하면 1에서 31 사이의 숫자가 표시되며 1970 년 1 월 1 일 00 : 00 : 00.000 GMT 이후로 경과 된 밀리 초 수가 길어질 것으로 예상됩니다.

사용

java.sql.Date z = new java.sql.Date(utilDate.getTime()); 

모든 것을 확인해야한다.

+0

대단히 감사합니다. – SamRowley