Android의 Sqlite에서 DateTime 유형 데이터 액세스 문제

1727 단어
sqlite에서 날짜 형식 데이터에 대한 접근망이 적지 않지만 이렇게 세밀하게 말하는 것이 매우 적다는 것을 발견했다.더 많은 것은 Date를 사용하고 날짜 데이터 통계 분석을 하지 않고 액세스 요구가 비교적 적은 것을 롱, 즉dateTime으로 직접 전환한다.getTime() 저장소.인터페이스에 표시가 필요할 때 롱형 날짜 데이터를 Date나 DateTime 형식으로 전환합니다.그러나 데이터 통계 분석을 하려면 모든 기록을 두루 전환해야 하기 때문에 매우 번거롭고 데이터량이 많으면 시간 소비가 매우 크다.
우리는 Date 형식 데이터가 데이터베이스에 yyy-MM-dd 형식으로 저장되고 Time은 HH:mm 형식으로 저장되는 것을 알고 있다.DateTime 유형의 저장 방식은 yyyy-MM-ddH:mm:ss.fff, 년, 월, 일, 시, 분, 초, 밀리초가 있습니다.이렇게 DateTime 유형의 데이터는 어떻게 저장합니까?초보자를 괴롭히는 문제라고 믿는다.
       String timeStr = “2015-3-1 16:20”;
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       format.setTimeZone(TimeZone.getTimeZone("GMT+08:00"));//       ,   
       Date dateTime = null;
       try {
	        dateTime = (Date) format.parse(timeStr);
       } catch (ParseException e) {
	        e.printStackTrace();
       }

java.sql.Date는 SQLDATE와 함께 설정된 데이터 유형입니다.규범화된java.sql.Date는 연월일 정보만 포함합니다. 데이터베이스에 존재하는 비규범화된 부분의 정보가 시분초 밀리초와 같이 0을 삭제할 수 있기 때문입니다.
java를 저장하려면.util.Date의 정확한 값,
우리는 자바를 이용해야 한다.sql.Timestamp
Timestamp timestamp = new Timestamp(dateTime.getTime());

이렇게 하면timestamp로 sqlite에DateTime 형식의 데이터를 직접 삽입할 수 있습니다.
그럼 어떻게 할까요?관건적인 문제는 커서에 날짜 데이터를 전문적으로 추출하는 방법이 없다는 데 나타나야 한다.
안드로이드의 Sqlite에 저장된 데이터는 약한 형식으로 저장되어 있음을 주의하십시오.String으로 꺼내서 날짜 형식으로 바꿉니다.
    String str;
    SimpleDateFormat format;
    Date date = null;
    str = cursor.getString(cursor.getColumnIndex("     "));
    format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    date = (Date) format.parse(str);

전재는 출처를 밝혀 주십시오.http://blog.csdn.net/lindonglian/article/details/44003549

좋은 웹페이지 즐겨찾기