2013-04-20 4 views
1

Date not String 형식의 테이블에 날짜를 삽입하고 싶습니다 (나중에 정렬해야 함). date (date)가 아닌 (String, String) 인수 만 취하기 때문에 콘텐츠 값의 put() 함수를 사용할 수 없습니다. 그렇다면 시스템의 현재 날짜를 테이블 행에 어떻게 삽입 할 수 있습니까? 도와주세요.SQLite에 Date 유형의 데이터를 삽입하는 방법

public long createEntry (String name, String db_dr, int amount, Date dt){ 
      ContentValues values = new ContentValues();`` 
      values.put(DbOpenHelper.ENTRY_NAME, name); 
      values.put(DbOpenHelper.DR_CR, db_dr); 
      values.put(DbOpenHelper.ENTRY_AMOUNT, amount); 
      values.put(DbOpenHelper.DATE, dt); // function put defined for (string, string) 
      long insertid= database.insert(DbOpenHelper.TABLE_ENTRIES, null, values); 
      return insertid; 
     } 

답변

0

SQLite doesn't support a Date datatype. 대신에 유닉스 시간에 날짜를 저장하는 것이 가능합니다. 날짜가 Calendar에 저장되어있는 경우, 예를 들어 getTimeInMillis을 사용하십시오.

+0

Calendar.getInstance(). getTimeInMillis()를 사용하여 1366494816221을 저장했습니다. DD-MM-YY 형식이나 이와 비슷한 형식으로 날짜를 얻으려면 어떻게해야합니까? 사전에 감사합니다 – Iva

+0

@IvaKodhelaj 그것은 당신이하고 싶은 일에 달려 있습니다. 날짜를 표시하는 문자열로 필요하면'DateUtils'를 사용할 수 있습니다. 'Calendar.setTimeInMillis()'에 이것을 던져 나중에 특정 날짜를 얻기 위해'Calendar.get()'을 사용할 수 있습니다. – MowDownJoe

0

마일 경과로 날짜를 삽입 할 수 있습니다. 귀하의 의견은 milis를 사용하여 날짜를 저장하고 문제를 발견하고이를 날짜로 변환 할 수 있다고 말했기 때문입니다. 여기에 예제가 있습니다

Calendar calendar = new GregorianCalendar(); 
    calendar.setTimeInMillis(date_in_milis); 
    int year = calendar.get(Calendar.YEAR); 
    int month = calendar.get(Calendar.MONTH); 
    int date = calendar.get(Calendar.DATE); 
    int day = calendar.get(Calendar.DAY_OF_WEEK); 

년, 월, 일 및 요일을 정수로 설정합니다. 따라서 어떤 계산을 통해 월/일 이름을 얻으려는 경우 문자열로 서식을 지정할 수 있습니다.

관련 문제