package Ġcom . bo h reg ard . shared . extension Ċ Ċ import Ġjava . time . Instant Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Offset DateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ Ċ fun ĠLocalDateTime . to Readable String () Ġ= Ġformat ( DateTime Formatter . of Pattern (" yyyy - MM - dd Ġhh : mm ")) Ċ Ċ const Ġval ĠSE COND Ġ= Ġ 6 0 Ċ const Ġval ĠMIN UTE Ġ= Ġ 3 6 0 0 Ċ const Ġval ĠHO UR Ġ= Ġ 8 6 4 0 0 Ċ const Ġval ĠDAY Ġ= Ġ 6 0 4 8 0 0 Ċ const Ġval ĠW EEK Ġ= Ġ 2 6 2 8 0 0 0 Ċ const Ġval ĠMON TH Ġ= Ġ 3 1 5 4 0 0 0 0 Ċ Ċ fun ĠLocalDateTime . temporal String (): ĠString Ġ{ ĊĠĠĠ Ġval Ġtime Ġ= Ġto Instant ( Offset DateTime . now (). offset ). to Epoch Milli ()/ 1 0 0 0 ĊĠĠĠ Ġval ĠcurrentTime Ġ= ĠInstant . now (). to Epoch Milli ()/ 1 0 0 0 ĊĊĠĠĠ Ġreturn Ġwhen Ġ( val Ġdiff Ġ= ĠcurrentTime Ġ- Ġtime ) Ġ{ ĊĠĠĠĠĠĠĠ Ġin Ġ 0 .. SECOND Ġ-> Ġ"${ diff } s " ĊĠĠĠĠĠĠĠ Ġin ĠSE COND Ġ+ Ġ 1 .. MINUTE Ġ-> Ġ"${ diff / 6 0 } m " ĊĠĠĠĠĠĠĠ Ġin ĠMIN UTE Ġ+ Ġ 1 .. HOUR Ġ-> Ġ"${ diff / 3 6 0 0 } h " ĊĠĠĠĠĠĠĠ Ġin ĠHO UR + Ġ 1 .. DAY Ġ-> Ġ"${ diff / 8 6 4 0 0 } d " ĊĠĠĠĠĠĠĠ Ġin ĠDAY + Ġ 1 .. WEEK Ġ-> Ġ"${ diff / 6 0 4 8 0 0 } w " ĊĠĠĠĠĠĠĠ Ġin ĠW EEK Ġ+ Ġ 1 .. MONTH Ġ-> Ġ"${ diff / 2 6 2 8 0 0 0 } mo " ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"${ diff / MONTH } y " ĊĠĠĠ Ġ} Ċ }