/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠV ast Gui Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . g code . v ast tools . utils Ċ Ċ import Ġandroidx . annotation . String Def Ċ import Ġjava . text . ParseException Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ import Ġkotlin . jvm . Throws Ċ Ċ // ĠAuthor : ĠV ast ĠGui Ċ // ĠEmail : Ġgui hy 2 0 1 9 @ gmail . com Ċ // ĠDate : Ġ 2 0 2 2 / 3 / 1 0 Ġ 1 5 : 2 7 Ċ // ĠDescription : ĠHelp Ġyou Ġget Ġtime Ġand Ġother Ġrelated Ġinformation . Ċ // ĠDocumentation : Ġ[ Date Utils ]( https :// sak ur aj im am ai i . github . io / V ast Docs / document / en / Date Utils . html ) ĊĊ Ċ // ĠTime ĠFormat Ċ const Ġval ĠDATE _ FORMAT Ġ= Ġ" yyyy - MM - dd " Ċ const Ġval ĠTIME _ FORMAT Ġ= Ġ" yyyy - MM - dd ĠHH : mm : ss " Ċ const Ġval ĠFORMAT _ YYYY _ MM Ġ= Ġ" yyyy - MM " Ċ const Ġval ĠFORMAT _ YYYY Ġ= Ġ" yyyy " Ċ const Ġval ĠFORMAT _ HH _ MM Ġ= Ġ" HH : mm " Ċ const Ġval ĠFORMAT _ HH _ MM _ SS Ġ= Ġ" HH : mm : ss " Ċ const Ġval ĠFORMAT _ MM _ SS Ġ= Ġ" mm : ss " Ċ const Ġval ĠFORMAT _ MM _ DD _ HH _ MM Ġ= Ġ" MM - dd ĠHH : mm " Ċ const Ġval ĠFORMAT _ MM _ DD _ HH _ MM _ SS Ġ= Ġ" MM - dd ĠHH : mm : ss " Ċ const Ġval ĠFORMAT _ YYYY _ MM _ DD _ HH _ MM Ġ= Ġ" yyyy - MM - dd ĠHH : mm " Ċ const Ġval ĠFORMAT _ YYYY 2 MM 2 DD Ġ= Ġ" yyyy . MM . dd " Ċ const Ġval ĠFORMAT _ YYYY 2 MM 2 DD _ HH _ MM Ġ= Ġ" yyyy . MM . dd ĠHH : mm " Ċ const Ġval ĠFORMAT _ MMC DD _ HH _ MM Ġ= Ġ" MM æľĪ dd æĹ¥ ĠHH : mm " Ċ const Ġval ĠFORMAT _ MMC DD Ġ= Ġ" MM æľĪ dd æĹ¥ " Ċ const Ġval ĠFORMAT _ YYYY C MMC DD Ġ= Ġ" yyyy å¹´ MM æľĪ dd æĹ¥ " Ċ Ċ // ĠGMT ĠFormat Ċ const Ġval ĠGMT _ PLUS _ ZONE Ġ= Ġ" GMT + 0 0 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ ONE Ġ= Ġ" GMT + 0 1 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ TWO Ġ= Ġ" GMT + 0 2 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ TH REE Ġ= Ġ" GMT + 0 3 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ FO UR Ġ= Ġ" GMT + 0 4 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ FI VE Ġ= Ġ" GMT + 0 5 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ SIX Ġ= Ġ" GMT + 0 6 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ SE VEN Ġ= Ġ" GMT + 0 7 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ E IGHT Ġ= Ġ" GMT + 0 8 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ N INE Ġ= Ġ" GMT + 0 9 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ TEN Ġ= Ġ" GMT + 1 0 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ E LE VEN Ġ= Ġ" GMT + 1 1 : 0 0 " Ċ const Ġval ĠGMT _ PLUS _ TW EL VE Ġ= Ġ" GMT + 1 2 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ ONE Ġ= Ġ" GMT - 0 1 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ TWO Ġ= Ġ" GMT - 0 2 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ TH REE Ġ= Ġ" GMT - 0 3 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ FO UR Ġ= Ġ" GMT - 0 4 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ FI VE Ġ= Ġ" GMT - 0 5 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ SIX Ġ= Ġ" GMT - 0 6 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ SE VEN Ġ= Ġ" GMT - 0 7 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ E IGHT Ġ= Ġ" GMT - 0 8 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ N INE Ġ= Ġ" GMT - 0 9 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ TEN Ġ= Ġ" GMT - 1 0 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ E LE VEN Ġ= Ġ" GMT - 1 1 : 0 0 " Ċ const Ġval ĠGMT _ MINUS _ TW EL VE Ġ= Ġ" GMT - 1 2 : 0 0 " Ċ Ċ /** Ċ Ġ* ĠThe Ġpattern Ġdescribing Ġthe Ġdate Ġand Ġtime Ġformat . Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 0 . 0 . 4 Ċ Ġ*/ Ċ @ Retention ( Annotation Retention . SOURCE ) Ċ @ String Def ( ĊĠĠĠ ĠDATE _ FORMAT , ĊĠĠĠ ĠTIME _ FORMAT , ĊĠĠĠ ĠFORMAT _ YYYY _ MM , ĊĠĠĠ ĠFORMAT _ YYYY , ĊĠĠĠ ĠFORMAT _ HH _ MM , ĊĠĠĠ ĠFORMAT _ HH _ MM _ SS , ĊĠĠĠ ĠFORMAT _ MM _ SS , ĊĠĠĠ ĠFORMAT _ MM _ DD _ HH _ MM , ĊĠĠĠ ĠFORMAT _ MM _ DD _ HH _ MM _ SS , ĊĠĠĠ ĠFORMAT _ YYYY _ MM _ DD _ HH _ MM , ĊĠĠĠ ĠFORMAT _ YYYY 2 MM 2 DD , ĊĠĠĠ ĠFORMAT _ YYYY 2 MM 2 DD _ HH _ MM , ĊĠĠĠ ĠFORMAT _ MMC DD _ HH _ MM , ĊĠĠĠ ĠFORMAT _ MMC DD , ĊĠĠĠ ĠFORMAT _ YYYY C MMC DD Ċ ) Ċ annotation Ġclass ĠDate Format String Ċ Ċ /** Ċ Ġ* ĠThe ĠID Ġfor Ġa ĠTime Zone . Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 0 . 0 . 4 Ċ Ġ*/ Ċ @ Retention ( Annotation Retention . SOURCE ) Ċ @ String Def ( ĊĠĠĠ ĠGMT _ PLUS _ ZONE , ĊĠĠĠ ĠGMT _ PLUS _ ONE , ĊĠĠĠ ĠGMT _ PLUS _ TWO , ĊĠĠĠ ĠGMT _ PLUS _ TH REE , ĊĠĠĠ ĠGMT _ PLUS _ FO UR , ĊĠĠĠ ĠGMT _ PLUS _ FI VE , ĊĠĠĠ ĠGMT _ PLUS _ SIX , ĊĠĠĠ ĠGMT _ PLUS _ SE VEN , ĊĠĠĠ ĠGMT _ PLUS _ E IGHT , ĊĠĠĠ ĠGMT _ PLUS _ N INE , ĊĠĠĠ ĠGMT _ PLUS _ TEN , ĊĠĠĠ ĠGMT _ PLUS _ E LE VEN , ĊĠĠĠ ĠGMT _ PLUS _ TW EL VE , ĊĠĠĠ ĠGMT _ MINUS _ ONE , ĊĠĠĠ ĠGMT _ MINUS _ TWO , ĊĠĠĠ ĠGMT _ MINUS _ TH REE , ĊĠĠĠ ĠGMT _ MINUS _ FO UR , ĊĠĠĠ ĠGMT _ MINUS _ FI VE , ĊĠĠĠ ĠGMT _ MINUS _ SIX , ĊĠĠĠ ĠGMT _ MINUS _ SE VEN , ĊĠĠĠ ĠGMT _ MINUS _ E IGHT , ĊĠĠĠ ĠGMT _ MINUS _ N INE , ĊĠĠĠ ĠGMT _ MINUS _ TEN , ĊĠĠĠ ĠGMT _ MINUS _ E LE VEN , ĊĠĠĠ ĠGMT _ MINUS _ TW EL VE Ċ ) Ċ annotation Ġclass ĠG mt Format String Ċ Ċ /** Ċ Ġ* ĠThe Ġpattern Ġdescribing Ġthe Ġyear Ġformat . Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 0 . 0 . 4 Ċ Ġ*/ Ċ @ Retention ( Annotation Retention . SOURCE ) Ċ @ String Def ( DATE _ FORMAT , ĠFORMAT _ YYYY _ MM , ĠFORMAT _ YYYY , ĠFORMAT _ YYYY 2 MM 2 DD ) Ċ annotation Ġclass ĠYear Format String Ċ Ċ object ĠDate Utils Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġcurrent Ġtime . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 4 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval ĠcurrentTime : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠdateTime To GMT () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġcurrent Ġtime Ġzone . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 4 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġcurrent TimeZone : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTime Zone . getDefault (). get DisplayName ( true , ĠTime Zone . SHORT , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġmin Ġtime ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 2 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġmin Date (): ĠDate Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġresult . time Ġ= ĠG regorian Calendar (). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set ( 1 9 0 0 , Ġ 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . time In Millis ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param ĠdateFormat ĠThe Ġpattern Ġdescribing Ġthe Ġdate Ġand Ġtime Ġformat . ĊĠĠĠĠ Ġ* Ġ@ return ĠGet Ġthe Ġminimum Ġtime Ġstring Ġin Ġthe Ġgiven Ġformat . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 5 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġmin Date ToString (@ DateFormat String ĠdateFormat : ĠString Ġ= ĠTIME _ FORMAT ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdatetime ToString ( min Date (), ĠdateFormat ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConstructs Ġa ĠSimpleDateFormat Ġusing Ġthe Ġ[ date Format ] Ġand Ġthe Ġ[ Locale . getDefault ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param ĠdateFormat ĠThe Ġpattern Ġdescribing Ġthe Ġdate Ġand Ġtime Ġformat . ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ SimpleDateFormat ] Ġusing Ġthe Ġ[ date Format ] Ġand Ġthe Ġ[ Locale . getDefault ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġdatetime Format ( ĊĠĠĠĠĠĠĠ Ġ@ DateFormat String ĠdateFormat : ĠString ĊĠĠĠ Ġ): ĠSimpleDateFormat Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSimpleDateFormat ( date Format , ĠLocale . getDefault ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġdate Ġobject Ġby Ġparsing Ġ[ time String ] Ġin Ġ[ time String Format ] Ġformat . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime String Format ĠThe Ġpattern Ġdescribing Ġthe Ġdate Ġand Ġtime Ġformat . ĊĠĠĠĠ Ġ* Ġ@ return ĠIf Ġ[ time String ] Ġparsing Ġfails , Ġit Ġreturns Ġ' null ' Ġobject . Other wise , Ġit Ġreturns Ġdate Ġobject . ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ ParseException ] ĠIf Ġ[ time String ] Ġparsing Ġfails . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Throws ( ParseException :: class ) ĊĠĠĠ Ġfun Ġdatetime FromString ( ĊĠĠĠĠĠĠĠ Ġtime String : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ DateFormat String Ġtime String Format : ĠString ĊĠĠĠ Ġ): ĠDate ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatetime Format ( time String Format ). parse ( time String ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠForm ats Ġa Ġ[ Date ] Ġinto Ġa Ġdate / time Ġstring Ġby Ġparsing ĊĠĠĠĠ Ġ* Ġ[ date Format ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠIf Ġyou Ġdon 't Ġset Ġthe Ġ[ date ] Ġor Ġ[ date Format ], it Ġwill ĊĠĠĠĠ Ġ* Ġparse Ġcurrent Ġtime Ġin Ġ[ date Format ] Ġformat Ġby Ġdefault . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdate Ġ[ Date ] Ġobject . ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġdatetime ToString ( ĊĠĠĠĠĠĠĠ Ġdate : ĠDate Ġ= ĠDate (), ĊĠĠĠĠĠĠĠ Ġ@ DateFormat String ĠdateFormat : ĠString Ġ= ĠTIME _ FORMAT ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdatetime Format ( date Format ). format ( date ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠForm ats Ġa Ġ[ Date ] Ġinto Ġa Ġdate / time Ġstring Ġby Ġparsing ĊĠĠĠĠ Ġ* Ġ[ date Format ] Ġand Ġ[ gmt Format ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠIf Ġyou Ġdon 't Ġset Ġthe Ġ[ gmt Format ] Ġor Ġ[ date Format ], it Ġwill ĊĠĠĠĠ Ġ* Ġparse Ġcurrent Ġlocal Ġtime Ġin Ġ[ TIME _ FORMAT ] Ġformat Ġby Ġdefault . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġg mt Format Ġthe ĠID Ġfor Ġa ĠTime Zone . ĊĠĠĠĠ Ġ* Ġ@ param ĠdateFormat Ġthe Ġpattern Ġdescribing Ġthe Ġdate Ġand Ġtime Ġformat . ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 4 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun ĠdateTime To GMT ( ĊĠĠĠĠĠĠĠ Ġ@ G mt Format String Ġg mt Format : ĠString Ġ= Ġcurrent TimeZone , ĊĠĠĠĠĠĠĠ Ġ@ DateFormat String ĠdateFormat : ĠString Ġ= ĠTIME _ FORMAT ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġformatter Ġ= ĠSimpleDateFormat ( date Format , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġformatter . time Zone Ġ= ĠTime Zone . getTime Zone ( gmt Format ) ĊĠĠĠĠĠĠĠ Ġreturn Ġformatter . format ( Date ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġcurrent Ġlocal Ġtime Ġstring Ġby Ġparsing Ġthe Ġ[ utc Time ] Ġin Ġ[ date Format ] Ġformat . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġut c Time Ġa Ġtime Ġwhose Ġbeginning Ġshould Ġbe Ġparsed . ĊĠĠĠĠ Ġ* Ġ@ param ĠdateFormat Ġthe Ġpattern Ġdescribing Ġthe Ġdate Ġand Ġtime Ġformat . ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠdateTime From GMT ( ĊĠĠĠĠĠĠĠ Ġut c Time : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ DateFormat String ĠdateFormat : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġut c Formatter Ġ= ĠSimpleDateFormat ( date Format , ĠLocale . getDefault ()) Ġ// UTC Ġtime Ġformat ĊĠĠĠĠĠĠĠ Ġut c Formatter . time Zone Ġ= ĠTime Zone . getTime Zone (" UTC ") ĊĠĠĠĠĠĠĠ Ġvar Ġgps UTC Date : ĠDate ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgps UTC Date Ġ= Ġut c Formatter . parse ( utc Time ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġlocal Formatter Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSimpleDateFormat ( date Format , ĠLocale . getDefault ()) Ġ// Local Ġtime Ġformat ĊĠĠĠĠĠĠĠ Ġlocal Formatter . time Zone Ġ= ĠTime Zone . getDefault () ĊĠĠĠĠĠĠĠ Ġreturn Ġlocal Formatter . format ( gps UTC Date !!. time ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġstart Ġtimestamp Ġof Ġthe Ġweek . ĊĠĠĠĠ Ġ* ĠMonday Ġis Ġthe Ġfirst Ġday Ġof Ġthe Ġweek . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġyear Format Ġthe Ġpattern Ġdescribing Ġthe Ġyear Ġformat . ĊĠĠĠĠ Ġ* Ġ@ return ĠWeek StartTime Ġparsed Ġin Ġ[ year Format ] Ġformat . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġweek StartTime (@ Year Format String Ġyear Format : ĠString Ġ= ĠDATE _ FORMAT ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsimple DateFormat Ġ= ĠSimpleDateFormat ( year Format , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġval Ġcal : ĠCalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġvar Ġday OfWeek : ĠInt Ġ= Ġcal . get ( Calendar . DAY _ OF _ WEEK ) Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġif Ġ( day OfWeek Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġday OfWeek Ġ= Ġ 7 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcal . add ( Calendar . DATE , Ġ- day OfWeek Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsimple DateFormat . format ( cal . time ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġend Ġtimestamp Ġof Ġthe Ġweek . ĊĠĠĠĠ Ġ* ĠMonday Ġis Ġthe Ġfirst Ġday Ġof Ġthe Ġweek . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġyear Format Ġthe Ġpattern Ġdescribing Ġthe Ġyear Ġformat . ĊĠĠĠĠ Ġ* Ġ@ return ĠWeek EndTime Ġparsed Ġin Ġ[ year Format ] Ġformat . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġweek EndTime (@ Year Format String Ġyear Format : ĠString Ġ= ĠDATE _ FORMAT ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsimple DateFormat Ġ= ĠSimpleDateFormat ( year Format , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġval Ġcal : ĠCalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġvar Ġday OfWeek : ĠInt Ġ= Ġcal . get ( Calendar . DAY _ OF _ WEEK ) Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġif Ġ( day OfWeek Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġday OfWeek Ġ= Ġ 7 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcal . add ( Calendar . DATE , Ġ- day OfWeek Ġ+ Ġ 7 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsimple DateFormat . format ( cal . time ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġstart Ġtimestamp Ġof Ġthe Ġweek . ĊĠĠĠĠ Ġ* ĠS UND AY Ġis Ġthe Ġfirst Ġday Ġof Ġthe Ġweek . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcalendar Ġ[ Calendar ] ĠObject Ġobject . ĊĠĠĠĠ Ġ* Ġ@ param Ġyear Format Ġthe Ġpattern Ġdescribing Ġthe Ġyear Ġformat . ĊĠĠĠĠ Ġ* Ġ@ return ĠWeek StartTime Ġparsed Ġin Ġ[ year Format ] Ġformat . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġget Week StartTime ( ĊĠĠĠĠĠĠĠ Ġcalendar : ĠCalendar Ġ= ĠCalendar . getInstance (), ĊĠĠĠĠĠĠĠ Ġ@ Year Format String Ġyear Format : ĠString Ġ= ĠDATE _ FORMAT ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsimple DateFormat Ġ= ĠSimpleDateFormat ( year Format , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġcalendar . set ( Calendar . DAY _ OF _ WEEK , ĠCalendar . S UND AY ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsimple DateFormat . format ( calendar . time ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġend Ġtimestamp Ġof Ġthe Ġweek . ĊĠĠĠĠ Ġ* ĠS UND AY Ġis Ġthe Ġfirst Ġday Ġof Ġthe Ġweek . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcalendar Ġ[ Calendar ] ĠObject Ġobject . ĊĠĠĠĠ Ġ* Ġ@ param Ġyear Format Ġthe Ġpattern Ġdescribing Ġthe Ġyear Ġformat . ĊĠĠĠĠ Ġ* Ġ@ return ĠWeek EndTime Ġparsed Ġin Ġ[ year Format ] Ġformat . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ since Ġ 0 . 0 . 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġget Week EndTime ( ĊĠĠĠĠĠĠĠ Ġcalendar : ĠCalendar Ġ= ĠCalendar . getInstance (), ĊĠĠĠĠĠĠĠ Ġ@ Year Format String Ġyear Format : ĠString Ġ= ĠDATE _ FORMAT ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsimple DateFormat Ġ= ĠSimpleDateFormat ( year Format , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġcalendar . set ( Calendar . DAY _ OF _ WEEK , ĠCalendar . S ATUR DAY ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsimple DateFormat . format ( calendar . time ) ĊĠĠĠ Ġ} Ċ }