본문 바로가기
개발 공부 기록하기/- Android

[안드로이드]SQLite date값 9시간 차이나는 문제 해결방법

by soulduse 2016. 4. 26.
반응형

SQLite 관련 작업중 테이블에 현재 시간을 기본설정 값으로 넣으면 


우리나라 현재시간과 비교했을 때 9시간이 빠르게 나오는 현상이 발생했다.


아래는 SQLite 테이블을 만들고 기본값을 설정한 상태이다.

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME + " ("
+ IDX + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ REG_DATE1 + " DATETIME DEFAULT (datetime('now','localtime'))"
+ REG_DATE2 + " DATETIME DEFAULT (datetime('now'))"
+ REG_DATE3 + " DATETIME DEFAULT CURRENT_TIMESTAMP"
+ ");");
}



EX) 현재 우리나라 시간이 2016-04-26 17:46:49라고 했을때,


     위의 내용에대한 결과는 아래와 같이 출력된다.

REG_DATE1 : 2016-04-26 17:46:49
REG_DATE2 : 2016-04-26 10:46:49
REG_DATE3 : 2016-04-26 10:46:49


결과를 보면 


datetime('now','localtime')    // => 현재 우리나라 시간과 동일한 시간을 얻는다.

datetime('now')                // => 국제표준시간(UTC) 기준의 값을 출력

CURRENT_TIMESTAMP              // => 국제표준시간(UTC) 기준의 값을 출력


임을 알 수 있다.


SQLite 작성과 시간에 있어 삽질시간 단축에 도움이 되었으면 한다. ^^





참고 사이트

http://stackoverflow.com/questions/381371/sqlite-current-timestamp-is-in-gmt-not-the-timezone-of-the-machine

http://wiki.simplism.kr/programming:database:sqlite

http://marga.tistory.com/578


반응형