2016년 8월 8일 월요일

[안드로이드 앱 개발] 데이타베이스를 통한 날짜,시간 저장 및 변환에 관한 생각

안드로이드 앱 개발을 하면서 

시간 값을 어떻게 저장하고 

필요할 때 꺼내어 변환하여

쓸지에 대해 조사 및 구현한 결과를

조금 정리해 놓으려고 합니다.

* SQLite => DateTime 형으로 생성
(가장 경제적임)
"setting_total_datetime DATETIME DEFAULT CURRENT_TIMESTAMP,"


* 구현할 내용의 Item => String 형
(특별한 변환없이 데이타베이스와 입출력)
데이타베이스에서 꺼낸 값을 String형으로 저장 보관


* 시간 변환 방법 => String -> Datetime 
(필요한 경우에)
1. SimpleDateFormat 이용
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");

2. 예외처리구문에서 Date형으로 변환
try{
Date date = (Date) formatter.parse(aItem.getSetUpTime());
}catch (Exception ex){    }
3. Calendar을 이용하여 년도,월,일,요일,시,분,초 얻기
Date date = new Date(time);Calendar cal = Calendar.getInstance();cal.setTime(date);
hour=cal.get(Calendar.HOUR);minute=cal.get(Calendar.MINUTE);second = cal.get(Calendar.SECOND);

*데이타베이스에 저장할 때
(가장 많은 정보를 저장할 수 있는 형태)
4. Calendar을 이용하여 시간 값으로 자장
cal.getTime();

5. 시간값 비교할 때는 TimeStamp형태로 비교