관계, Networking 그리고 Programming

Calendar millitime에 대한 나의 편견(?)

androbook 본캐 2015. 3. 31. 17:36

최근 만들고 있는 앱이 캘린더이다보니 Calendar 인스턴스를 많이 사용하게 된다. 현재 만들고 있는 캘린더의 초기 날짜를 1900년으로 결정했는데, 해서 구조적으로 min time에 1900년 1월 1일을 셋팅하고 사용해 왔다.


문제는 기능들을 넣고 테스트하다보니 엉뚱한 날짜에 엉뚱한 일정이 표기될 때가 있더라는 것. 디버깅을 하는 과정에서 1900년으로 셋팅한 min time이 마이너스(-) 값이 나오는 걸 보고 아 뭔가 셋팅이 잘못 되었군... 이라고 생각하고 한 두시간을 투자했는데, 이거 뭐지. 셋팅은 잘 했는데 왜 자꾸 마이너스가 나왓!!! 하고 혼자 화를 내고 있었다는 거지.


지금까지 시간이 없는 일정에 대해 데이터베이스 저장 시 시간 value를 0으로 셋팅해서 사용하고 있었는데, 뜬금 없이 min time이 마이너스로 나와 버리니 이 일정들이 이상한 날짜에 검색이 되어버리는 거다.


구글링을 하다보니, 이런, Calendar 인스턴스의 millitime의 기준이 1970년이었어. 아. 그랬구나. 왜 난 그냥 0년을 기준으로 셋팅되려니 생각한 것인가. 1970년이 기준이니, 1900년은 마이너스 값이 나오지. 아 난 왜 내 맘대로 생각을 해버렸지? 그럼 우리 일정 기본 값을 0이 아닌 값으로 변경을 해야 하나? 라고 생각 중. 어떻게 할꺼나~.




timeA time in milliseconds since January 1, 1970.

발췌 : http://developer.android.com/reference/java/util/Calendar.html





from. tumblr