// ĠOriginal Ġbug : ĠK T - 1 3 0 0 6 Ċ Ċ import Ġjava . util . Date Ċ import Ġjava . text . SimpleDateFormat Ċ Ċ fun ĠString . toDate ( format : ĠString ) Ġ= ĠSimpleDateFormat ( format ). parse ( this ) Ċ operator Ġfun ĠDate . plus ( day : ĠInt ) Ġ= ĠDate ( time Ġ+ Ġday Ġ* Ġ 2 4 Ġ* Ġ 6 0 Ġ* Ġ 6 0 Ġ* Ġ 1 0 0 0 L ) Ċ operator Ġfun ĠDate . range To ( other : ĠDate ) Ġ= ĠDate Range ( this , Ġother ) Ċ Ċ class ĠDate Range ( override Ġval Ġstart : ĠDate , Ġoverride Ġval Ġend Inclusive : ĠDate ) Ġ: ĠClosed Range < Date >, ĠIterable < Date > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġiterator () Ġ= Ġobject Ġ: ĠIterator < Date > Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġcurrent : ĠDate Ġ= Ġstart ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhas Next (): ĠBoolean Ġ= Ġcurrent Ġ<= Ġend Inclusive ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnext (): ĠDate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcurrent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġstart Ġ= Ġ" May Ġ 1 , Ġ 2 0 1 6 ". toDate (" MMM Ġd , Ġy yyy ") ĊĠĠĠ Ġval Ġend Ġ= Ġ" May Ġ 3 1 , Ġ 2 0 1 6 ". toDate (" MMM Ġd , Ġy yyy ") ĊĠĠĠ Ġ( start .. end ). filter Ġ{ Ġit . day Ġ== Ġ 1 Ġ}. forEach Ġ{ Ġprintln ( it ) Ġ} Ċ } ĊĊ