[Android] Datepicker 사용하기

berry·2022년 1월 4일
0

안드로이드

목록 보기
11/22

D-Day 계산 어플 만들기

1. DatePicker로 시작 날짜, 종료 날짜 설정하기
(종료날짜 설정 코드는 동일하므로 생략)

 var calendar_start = Calendar.getInstance()
 var calendar_end = Calendar.getInstance()
 
 findViewById<Button>(R.id.btn_start).setOnClickListener {

     // < 1 > datepickerdialog에 표시할 달력 (Calendar.getInstance()에는 현재 날짜정보 들어있음)
     val today = Calendar.getInstance()
     val year = today.get(Calendar.YEAR)
     val month = today.get(Calendar.MONTH)
     val day = today.get(Calendar.DATE)

     val dlg = DatePickerDialog(this, object : DatePickerDialog.OnDateSetListener {
         override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {

             // < 2 > picker에서 선택한 날짜로 설정
             calendar_start.set(year, month + 1, dayOfMonth)
         }
         // < 3 > datepicker가 처음 떴을 때 오늘 날짜가 보이도록 설정
     }, year, month, day)
     dlg.show()
    }

1. Calendar는 추상 클래스이기 때문에 객체를 직접 생성할 수 없고 getInstance() 함수를 통해 완전히 구현된 클래스의 인스턴스를 얻어야 한다.
(Calendar.getInstance() => 현재시간을 담고있는 Calendar 객체를 리턴)
2. 사용자가 picker에서 선택한 날짜로 시작 날짜를 설정해준다.
3. datepicker 가 처음 떴을 때 보일 날짜를 적어준다.


2. 시작날짜, 종료날짜 차이 계산하기

//milliseconds -> day 로 변환
 val dday =
     TimeUnit.MILLISECONDS.toDays(calendar_end.timeInMillis - calendar_start.timeInMillis)
profile
공부 내용 기록

0개의 댓글

관련 채용 정보