package Ġcom . github . si ro que . mate ck yst udio grab ber . utils Ċ Ċ import Ġjava . time . DayOfWeek Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . time . temporal . Temporal Adjust ers Ċ import Ġjava . util .* Ċ import Ġjava . util . logging . Logger Ċ Ċ object ĠDateTime Utils Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġlogger : ĠLogger Ġ= ĠLogger . getLogger (" com . github . si ro que . silver ra ing r ab ber . utils . DateTime Utils ") ĊĊĠĠĠ Ġfun Ġre format DateString ( date : ĠString , Ġinput Format : ĠString , Ġoutput Format : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput Formatter Ġ= ĠDateTime Formatter . of Pattern ( input Format , ĠLocale (" ru ")) ĊĠĠĠĠĠĠĠ Ġval Ġoutput Formatter Ġ= ĠDateTime Formatter . of Pattern ( output Format , ĠLocale (" ru ")) ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDateTime . parse ( date . toLowerCase (), Ġinput Formatter ). format ( output Formatter ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" Failed Ġto Ġre format Ġdate string Ġ$ date Ġwith Ġexception : Ġ${ e . message }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetLast DayOfWeek Date ( week Day : ĠDay OfWeek ): ĠLocalDate Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLocalDate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. now () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTemp oral Adjust ers . previous Or Same ( week Day ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }