package Ġcom . github . om arm iate l lo . gd g tools . utils Ċ Ċ import Ġjava . text . DateFormat Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* ĊĊ Ċ // ĠDate Ġutils Ċ Ċ val ĠDate . year Int Ġget () Ġ= ĠCalendar . getInstance (). also Ġ{ Ġit . time Ġ= Ġthis Ġ}. year Ċ val ĠDate . month Int Ġget () Ġ= ĠCalendar . getInstance (). also Ġ{ Ġit . time Ġ= Ġthis Ġ}. month Ċ val ĠDate . day Int Ġget () Ġ= ĠCalendar . getInstance (). also Ġ{ Ġit . time Ġ= Ġthis Ġ} [ Calendar . DAY _ OF _ MONTH ] Ċ Ċ private Ġval Ġcalendar Week Number Ġ= ĠCalendar . getInstance () Ċ val ĠDate . week OfYear : ĠInt ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġcalendar Week Number . time Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġreturn Ġcalendar Week Number . get ( Calendar . WEEK _ OF _ YEAR ) ĊĠĠĠ Ġ} Ċ Ċ inline Ġval ĠCalendar . year : ĠInt Ġget () Ġ= Ġget ( Calendar . YEAR ) Ċ inline Ġval ĠCalendar . month : ĠInt Ġget () Ġ= Ġget ( Calendar . MONTH ) Ċ inline Ġval ĠCalendar . week OfYear : ĠInt Ġget () Ġ= Ġget ( Calendar . WEEK _ OF _ YEAR ) ĊĊ Ċ private Ġval Ġfull It alian Formatter Ġ= ĠDate Format . getDate Instance ( DateFormat . FULL , ĠLocale . IT ALI AN ) Ċ private Ġval Ġday Month Formatter Ġ= ĠSimpleDateFormat (" d ĠM MM ", ĠLocale . IT ALI AN ) Ċ // Ġval Ġtime Formatter Ġ= ĠDate Format . getTime Instance ( DateFormat . SHORT , ĠLocale . IT ALI AN ) Ċ fun ĠDate . format Full () Ġ= Ġfull It alian Formatter . format ( this ) Ċ Ċ fun ĠDate . format Day Month () Ġ= Ġday Month Formatter . format ( this ) Ċ Ċ fun Ġweek Range From ( from Calendar : ĠCalendar . () Ġ-> ĠUnit ): ĠPair < Calendar , ĠCalendar > Ġ{ ĊĠĠĠ Ġval Ġstart Ġ= ĠCalendar . getInstance ( Locale . IT ALI AN ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġfrom Calendar () ĊĠĠĠĠĠĠĠ Ġset ( Calendar . HOUR _ OF _ DAY , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġset ( Calendar . MINUTE , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġset ( Calendar . SECOND , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġset ( Calendar . MILLI SECOND , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġset ( Calendar . DAY _ OF _ WEEK , ĠCalendar . MON DAY ) Ġ// ĠMonday ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġend Ġ= ĠCalendar . getInstance ( Locale . IT ALI AN ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġtime Ġ= Ġstart . time ĊĠĠĠĠĠĠĠ Ġadd ( Calendar . DAY _ OF _ MONTH , Ġ 7 ) ĊĠĠĠĠĠĠĠ Ġadd ( Calendar . MILLI SECOND , Ġ- 1 ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġstart Ġto Ġend Ċ }