/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 - 2 0 2 2 ĠT omas z ĠB abi uk Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ ĠYou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġeu . autom ate everything . domain . hardware Ċ Ċ import Ġeu . autom ate everything . data . localization . Resource Ċ import Ġeu . autom ate everything . data . hardware . Port Value Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . util .* Ċ import Ġjava . util . Calendar .* Ċ Ċ class ĠTime Stamp ( val Ġvalue : ĠBigDecimal ) Ġ: ĠPort Value Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġto Formatted String (): ĠResource Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġadd Trailing Zero ( input : ĠInt , Ġlength : ĠInt Ġ= Ġ 2 ) Ġ: ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġinput . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( result . length Ġ< Ġlength ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġ" 0 $ result " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠG regorian Calendar . getInstance () ĊĠĠĠĠĠĠĠ Ġcalendar . time In Millis Ġ= Ġvalue . to Long () ĊĠĠĠĠĠĠĠ Ġval Ġuni Time Ġ= Ġadd Trailing Zero ( calendar . get ( HOUR _ OF _ DAY )- 1 ) Ġ+ Ġ":" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Trailing Zero ( calendar . get ( MINUTE )) Ġ+ Ġ":" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Trailing Zero ( calendar . get ( SECOND )) Ġ+ Ġ"." Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Trailing Zero ( calendar . get ( MILLI SECOND ), Ġ 3 ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠResource . create Uni Resource ( uni Time ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġas Decimal (): ĠBigDecimal Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Calendar ( now : ĠCalendar ): ĠTime Stamp Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnow Seconds Ġ= Ġnow . get ( Calendar . HOUR _ OF _ DAY )* 3 6 0 0 Ġ+ Ġnow . get ( Calendar . MINUTE )* 6 0 Ġ+ Ġnow . get ( Calendar . SECOND ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnow Milliseconds Ġ= Ġnow Seconds Ġ* Ġ 1 0 0 0 Ġ+ Ġnow . get ( Calendar . MILLI SECOND ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTime Stamp ( now Milliseconds . to BigDecimal ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }