package Ġcom . example . my age ind ays Ċ Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . view . isVisible Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġbutton Select Date : ĠButton ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġlinear Result : ĠLinearLayout ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtext Selected Date : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtext Days : ĠTextView ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġbutton Select Date Ġ= ĠfindViewById ( R . id . button Select Date ) ĊĠĠĠĠĠĠĠ Ġlinear Result Ġ= ĠfindViewById ( R . id . linear Result ) ĊĠĠĠĠĠĠĠ Ġtext Selected Date Ġ= ĠfindViewById ( R . id . text Selected Date ) ĊĠĠĠĠĠĠĠ Ġtext Days Ġ= ĠfindViewById ( R . id . text Days ) ĊĊĠĠĠĠĠĠĠ Ġbutton Select Date ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Button () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġlinear Result ?. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclick Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġval Ġyear Ġ= Ġcalendar . get ( Calendar . YEAR ) ĊĠĠĠĠĠĠĠ Ġval Ġmonth Ġ= Ġcalendar . get ( Calendar . MONTH ) ĊĠĠĠĠĠĠĠ Ġval Ġday Ġ= Ġcalendar . get ( Calendar . DAY _ OF _ MONTH ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdate Picker Dialog Ġ= ĠDate Picker Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate Picker Dialog . On Date Set Listener { Ġ_, Ġselected Year , Ġselected Month , Ġselected Day Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinear Result ?. visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Date Ġ= Ġ"$ selected Day /${ selected Month Ġ+ Ġ 1 }/ $ selected Year " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Selected Date ?. text Ġ= Ġselected Date ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsimple DateFormat Ġ= ĠSimpleDateFormat (" dd / MM / yyyy ", ĠLocale . EN GL ISH ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġsimple DateFormat . parse ( selected Date ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Date In Days Ġ= Ġdate . time Ġ/ Ġ 8 6 4 0 0 0 0 0 Ġ// Ġ 1 0 0 0 Ġ* Ġ 6 0 Ġ* Ġ 6 0 Ġ* Ġ 2 4 Ġ- Ġmillis Ġto Ġdays ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Date Ġ= Ġsimple DateFormat . parse ( simple DateFormat . format ( System . currentTimeMillis ())) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Date ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Date In Days Ġ= Ġcurrent Date . time Ġ/ Ġ 8 6 4 0 0 0 0 0 Ġ// 8 6 4 0 0 0 0 0 Ġis Ġ 1 Ġday Ġin Ġmilliseconds ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdifference In Days Ġ= Ġcurrent Date In Days Ġ- Ġselected Date In Days ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Days ?. text Ġ= Ġ"$ difference In Days " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġyear , Ġmonth , Ġday ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdate Picker Dialog . date Picker . max Date Ġ= ĠSystem . currentTimeMillis () Ġ- Ġ 8 6 4 0 0 0 0 0 ĊĊĠĠĠĠĠĠĠ Ġdate Picker Dialog . show () ĊĠĠĠ Ġ} Ċ }