안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요? D-Day 기능을 제작 중인데..
D-Day를 설정하고 금일 날짜와 비교해보면 반드시 +1일이 되어있네요;;
계산식에 문제가 있는거 같은데..
확인 부탁 좀 드릴께요..(왠지 형변환 문제일듯 하나 머리가 안굴러갑니다..)
현재날짜 부분은..
Calendar NowDate = Calendar.getInstance();
SimpleDateFormat DateFormat = new SimpleDateFormat("yyyyMMdd"); // 시각이 나오니 문제가 생긴다.. 그래서 simple 처리 ㅎㅎ
.
.
.
TextView today = (TextView) findViewById(R.id.today); //현재 날짜를 보여주기 위한 textView() 생성
today.setText("달력을 보니 " + DateFormat.format(NowDate.getTime())+" 이네요"); //현재 날짜를 보여주자..
구요.. D-Day 설정 후 계산 부분은
DatePicker DDay = (DatePicker) findViewById(R.id.dpicker); //D-Day를 지정할 수 있도록 DatePicker를 생성한다.. 특별히 xml로 해봤다 ㅎㅎ
Calendar SetDate = new GregorianCalendar( //새로운 Calendar 객체를 GregorianCalendar를 이용해 생성.. 생성된 Calendar는 설정된 D-Day를 위한 놈이다..
DDay.getYear(), DDay.getMonth(), DDay.getDayOfMonth()
.
.
.
long diffday = SetDate.getTimeInMillis() - NowDate.getTimeInMillis(); // 밀리초를 얻어와 시간을 계산한다..
delta = diffday / (1000 * 60 * 60 * 24); // 밀리초 날짜로 변환하기.
이 문제로 진도가 더 이상 나가질 못하네요;;;
도움 좀 부탁드리겠습니다.. 감사합니다
D-Day를 설정하고 금일 날짜와 비교해보면 반드시 +1일이 되어있네요;;
계산식에 문제가 있는거 같은데..
확인 부탁 좀 드릴께요..(왠지 형변환 문제일듯 하나 머리가 안굴러갑니다..)
현재날짜 부분은..
Calendar NowDate = Calendar.getInstance();
SimpleDateFormat DateFormat = new SimpleDateFormat("yyyyMMdd"); // 시각이 나오니 문제가 생긴다.. 그래서 simple 처리 ㅎㅎ
.
.
.
TextView today = (TextView) findViewById(R.id.today); //현재 날짜를 보여주기 위한 textView() 생성
today.setText("달력을 보니 " + DateFormat.format(NowDate.getTime())+" 이네요"); //현재 날짜를 보여주자..
구요.. D-Day 설정 후 계산 부분은
DatePicker DDay = (DatePicker) findViewById(R.id.dpicker); //D-Day를 지정할 수 있도록 DatePicker를 생성한다.. 특별히 xml로 해봤다 ㅎㅎ
Calendar SetDate = new GregorianCalendar( //새로운 Calendar 객체를 GregorianCalendar를 이용해 생성.. 생성된 Calendar는 설정된 D-Day를 위한 놈이다..
DDay.getYear(), DDay.getMonth(), DDay.getDayOfMonth()
.
.
.
long diffday = SetDate.getTimeInMillis() - NowDate.getTimeInMillis(); // 밀리초를 얻어와 시간을 계산한다..
delta = diffday / (1000 * 60 * 60 * 24); // 밀리초 날짜로 변환하기.
이 문제로 진도가 더 이상 나가질 못하네요;;;
도움 좀 부탁드리겠습니다.. 감사합니다




SetDate에 오늘 날자를 저장한다고 해도
SetDate.getTimeInMillis 와 NowDate.getTimeInMillis 의 반환값은 틀리겠죠.. NowDate는 말 그대로 현재 시간을 가져오니
0시 이후의 값도 합산되어 위의 계산대로 하면 -값이 나오겠죠.. 오늘 0시 이후의 시간을 처리하는 로직이 추가되야할것 같습니다.