마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

디데이를 구하는데 날짜가 맞지를 않습니다.

0 추천

안녕하세요.

현재 디데이 기능을 구현하는데 날짜가 맞지를 않네요.

 

코드의 일부입니다.

Calendar calendar = Calendar.getInstance();
long startTime =calendar.getTimeInMillis();
 
long diff = endDate.getTime() - startTime;
Log.i("ExpireDate", "밀리초 계산 결과 : " + diff);
 
long diffDays = diff / (24 * 60 * 60 * 1000);
Log.i("ExpireDate", "디데이 : " + diffDays);
 
endDate가 만료일을 밀리초로 구한 값이고,
start가 현재날짜를 밀리초로 구한 값입니다.
 
두 날짜를 계산하는것은 잘되는 것 같으나...
폰 디바이스에서 설정에 가서 현재 날짜를 바꾸면 디바이스에 설정된 날짜를 가져와서 그런지
날짜를 실제 날자가 아닌 디바이스에 설정된 날자로 얻어오는거 같더라구요.
사용자가 디바이스에서 날자를 변경해도 진짜 현재시간을 가져와서 디데이를 계산하려면 어찌해야될까요?
갸아악 (21,260 포인트) 님이 2015년 3월 13일 질문

2개의 답변

+2 추천
time server 등에서 시간을 받아와서 처리해야 겠네요.
익명사용자 님이 2015년 3월 13일 답변
폰의 시간을 안 쓴다면 어쩔 수 없이 utc 시간 보내주는 서버에서 정보를 받아와야겠네요
0 추천
진짜 현재 시간의 정의가 뭔가요?

위치에 따라서 현재시간은 변할텐데.. 해외여행간다치면... 시간계산은 어떻게 되나요..?

디바이스 위치 확인해서 해당 지역 타임 서버에서 시간 받아와서

계산하는것 보다 그냥 디바이스에 설정되있는 시간으로 디데이 계산하는게 더 낮지않을까요?
익명사용자 님이 2015년 3월 13일 답변
...