package Ġcom . kotlin . training Ċ Ċ import Ġjava . util .* Ċ import Ġandroid . os . Bundle Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġdate Picker Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOpen Ġdate Ġpicker Ġdialog ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Picker Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdate Picker Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Date Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Year Ġ= Ġcurrent Date . get ( Calendar . YEAR ) ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Month Ġ= Ġcurrent Date . get ( Calendar . MONTH ) ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Day Ġ= Ġcurrent Date . get ( Calendar . DAY _ OF _ MONTH ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠShow Ġdialog ĊĠĠĠĠĠĠĠ ĠDate Picker Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate Picker Dialog . On Date Set Listener Ġ{ Ġ_, Ġselected Year , Ġselected Month , Ġselected Day Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠConvert Ġdates Ġto ĠString ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent DateString Ġ= Ġformat Date ToString ( current Day , Ġcurrent Month , Ġcurrent Year ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected DateString Ġ= Ġformat Date ToString ( selected Day , Ġselected Month , Ġselected Year ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet Ġselected Ġdate Ġin ĠUI ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchosen Date . text Ġ= Ġselected DateString ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet Ġresult Ġin ĠUI ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . text Ġ= Ġresult String ( time From DateString ( current DateString ), Ġtime From DateString ( selected DateString )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Year , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Month , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Day ĊĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġformat Date ToString ( day : ĠInt , Ġmonth : ĠInt , Ġyear : ĠInt ) Ġ= Ġ"$ day /${ month Ġ+ Ġ 1 }/ $ year " ĊĊĠĠĠ Ġprivate Ġfun Ġtime From DateString ( st ing Date : ĠString ) Ġ= ĠSimpleDateFormat (" dd / mm / yy ", ĠLocale . F REN CH ). parse ( st ing Date )?. time ĊĊĠĠĠ Ġprivate Ġfun Ġresult String ( currentTime : ĠLong ?, Ġselected Time : ĠLong ?) Ġ= Ġif (( currentTime Ġis ĠLong ) Ġ&& Ġ( selected Time Ġis ĠLong )) Ġ(( currentTime Ġ- Ġselected Time ) Ġ/ Ġ 6 0 ). toString () Ġelse Ġ" Imp ossible Ġd ' Ã© ffect uer Ġle Ġcalcul " Ċ }