package Ġio . github . rs ook ram . soon . data Ċ Ċ import Ġjava . time . Clock Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . temporal . Ch rono Unit Ċ Ċ // ĠTODO : ĠCheck Ġif ĠWire Ġcan Ġuse ĠUInt Ċ Ċ /** Ċ Ġ* ĠSee Ġ[ adjusted Today ] Ċ Ġ*/ Ċ private Ġconst Ġval ĠSTART _ OF _ DAY _ HOUR Ġ= Ġ 4 Ċ Ċ /** Ċ Ġ* ĠA Ġ" soon Ġdate " Ġis Ġmeasured Ġas Ġthe Ġnumber Ġof Ġdays Ġsince Ġthe Ġdevelopment Ġof Ġthis Ġapp Ġstarted Ċ Ġ* Ġ( 2 0 2 1 / 1 2 / 1 7 ). ĠThis Ġvalue Ġis Ġrepresented Ġas Ġa Ġnon - negative ĠInt , Ġwith Ġ 2 0 2 1 / 1 2 / 1 7 Ġbeing Ġ 0 . Ċ Ġ*/ Ċ type alias ĠSo on Date Ġ= ĠInt Ċ Ċ fun ĠClock . today As So on Date (): ĠSo on Date Ġ= Ġadjusted Today (). to So on Date () Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġ[ LocalDate ] Ġfor Ġtoday , Ġassuming Ġthat Ġthe Ġday Ġstarts Ġat Ġ[ START _ OF _ DAY _ HOUR ]. Ċ Ġ*/ Ċ fun ĠClock . adjusted Today (): ĠLocalDate Ġ{ ĊĠĠĠ Ġval Ġnow Ġ= ĠLocalDateTime . now ( this ) ĊĠĠĠ Ġval Ġshould Push Back Ġ= Ġnow . hour Ġ< ĠSTART _ OF _ DAY _ HOUR ĊĠĠĠ Ġreturn Ġnow . to LocalDate (). minus Days ( if Ġ( should Push Back ) Ġ 1 Ġelse Ġ 0 ) Ċ } Ċ Ċ fun ĠLocalDate . to So on Date (): ĠSo on Date Ġ{ ĊĠĠĠ Ġval Ġepoch Ġ= ĠLocalDate . of ( 2 0 2 1 , Ġ 1 2 , Ġ 1 7 ) ĊĊĠĠĠ Ġ// ĠTODO : ĠError Ġif Ġoverflow ĊĠĠĠ Ġreturn ĠCh rono Unit . DAYS . between ( epoch , Ġthis ). toInt () Ċ } Ċ Ċ fun ĠSo on Date . to LocalDate (): ĠLocalDate Ġ{ ĊĠĠĠ Ġval Ġepoch Ġ= ĠLocalDate . of ( 2 0 2 1 , Ġ 1 2 , Ġ 1 7 ) ĊĠĠĠ Ġreturn Ġepoch . plus Days ( this . to Long ()) Ċ } Ċ