package Ġch oo ong g . box . utils Ċ Ċ import Ġandroidx . annotation . Int Def Ċ import Ġjava . text . DateFormat Ċ import Ġjava . text . ParseException Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . HashMap ĊĊ Ċ object ĠTime Constants Ġ{ ĊĠĠĠ Ġconst Ġval ĠM SEC Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval ĠSE C Ġ= Ġ 1 0 0 0 ĊĠĠĠ Ġconst Ġval ĠMIN Ġ= Ġ 6 0 0 0 0 ĊĠĠĠ Ġconst Ġval ĠHO UR Ġ= Ġ 3 6 0 0 0 0 0 ĊĠĠĠ Ġconst Ġval ĠDAY Ġ= Ġ 8 6 4 0 0 0 0 0 ĊĊĠĠĠ Ġ@ Int Def ( M SEC , ĠSE C , ĠMIN , ĠHO UR , ĠDAY ) ĊĠĠĠ Ġannotation Ġclass ĠUnit Ċ } Ċ Ċ object ĠTime Utils Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠS DF _ THREAD _ LOCAL : ĠThread Local < HashMap < String , ĠSimpleDateFormat >> Ġ= ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠThread Local < HashMap < String , ĠSimpleDateFormat >>() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinitial Value (): ĠHashMap < String , ĠSimpleDateFormat > Ġ= ĠHashMap () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetDefault Format () Ġ= Ġget Safe DateFormat (" yyyy - MM - dd ĠHH : mm : ss ") ĊĊĠĠĠ Ġfun Ġget Safe DateFormat ( pattern : ĠString ): ĠSimpleDateFormat Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsdf Map Ġ= ĠS DF _ THREAD _ LOCAL . get () !! ĊĠĠĠĠĠĠĠ Ġvar Ġsimple DateFormat Ġ= Ġsdf Map [ pattern ] ĊĠĠĠĠĠĠĠ Ġif Ġ( simple DateFormat Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsimple DateFormat Ġ= ĠSimpleDateFormat ( pattern , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdf Map [ pattern ] Ġ= Ġsimple DateFormat ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsimple DateFormat ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmillis 2 String ( millis : ĠLong ) Ġ= Ġmillis 2 String ( millis , ĠgetDefault Format ()) ĊĊĠĠĠ Ġfun Ġmillis 2 String ( millis : ĠLong , Ġpattern : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ Ġmillis 2 String ( millis , Ġget Safe DateFormat ( pattern )) ĊĊĠĠĠ Ġfun Ġmillis 2 String ( millis : ĠLong , Ġformat : ĠDate Format ) Ġ= Ġformat . format ( Date ( millis )) ĊĊĠĠĠ Ġfun Ġstring 2 Millis ( time : ĠString ) Ġ= Ġstring 2 Millis ( time , ĠgetDefault Format ()) ĊĊĠĠĠ Ġfun Ġstring 2 Millis ( time : ĠString , Ġpattern : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ Ġstring 2 Millis ( time , Ġget Safe DateFormat ( pattern )) ĊĊĠĠĠ Ġfun Ġstring 2 Millis ( time : ĠString , Ġformat : ĠDate Format ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġformat . parse ( time )?. time Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstring 2 Date ( time : ĠString ) Ġ= Ġstring 2 Date ( time , ĠgetDefault Format ()) ĊĊĠĠĠ Ġfun Ġstring 2 Date ( time : ĠString , Ġpattern : ĠString ) Ġ= Ġstring 2 Date ( time , Ġget Safe DateFormat ( pattern )) ĊĊĠĠĠ Ġfun Ġstring 2 Date ( time : ĠString , Ġformat : ĠDate Format ): ĠDate ? Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġformat . parse ( time ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdate 2 String ( date : ĠDate ) Ġ= Ġdate 2 String ( date , ĠgetDefault Format ()) ĊĊĠĠĠ Ġfun Ġdate 2 String ( date : ĠDate , Ġpattern : ĠString ) Ġ= Ġget Safe DateFormat ( pattern ). format ( date ) ĊĊĠĠĠ Ġfun Ġdate 2 String ( date : ĠDate , Ġformat : ĠDate Format ) Ġ= Ġformat . format ( date ) ĊĊĠĠĠ Ġfun Ġdate 2 Millis ( date : ĠDate ) Ġ= Ġdate . time ĊĊĠĠĠ Ġfun Ġmillis 2 Date ( millis : ĠLong ) Ġ= ĠDate ( millis ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® åįķä½į è¿ĶåĽŀ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġpattern Ġ= Ġ` yyyy - MM - dd ĠHH : mm : ss ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget TimeSpan ( ĊĠĠĠĠĠĠĠ Ġtime 1 : ĠString , ĊĠĠĠĠĠĠĠ Ġtime 2 : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġget TimeSpan ( time 1 , Ġtime 2 , ĠgetDefault Format (), Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® åįķä½į è¿ĶåĽŀ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget TimeSpan ( ĊĠĠĠĠĠĠĠ Ġtime 1 : ĠString , ĊĠĠĠĠĠĠĠ Ġtime 2 : ĠString , ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 TimeSpan ( string 2 Millis ( time 1 , Ġformat ) Ġ- Ġstring 2 Millis ( time 2 , Ġformat ), Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® åįķä½į è¿ĶåĽŀ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget TimeSpan ( ĊĠĠĠĠĠĠĠ Ġdate 1 : ĠDate , ĊĠĠĠĠĠĠĠ Ġdate 2 : ĠDate , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 TimeSpan ( date 2 Millis ( date 1 ) Ġ- Ġdate 2 Millis ( date 2 ), Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® åįķä½į è¿ĶåĽŀ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget TimeSpan ( ĊĠĠĠĠĠĠĠ Ġmillis 1 : ĠLong , ĊĠĠĠĠĠĠĠ Ġmillis 2 : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 TimeSpan ( millis 1 Ġ- Ġmillis 2 , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ æĭŁ åĲĪ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġpattern Ġ= Ġ` yyyy - MM - dd ĠHH : mm : ss ` ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 0 , Ġreturn Ġnull ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 1 , Ġreturn Ġ å¤© ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 2 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 3 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 4 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ , Ġ ç§Ĵ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ& gt ;= Ġ 5 ï¼Į return Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ , Ġ ç§Ĵ , Ġæ¯ « ç§Ĵ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Fit TimeSpan ( ĊĠĠĠĠĠĠĠ Ġtime 1 : ĠString , ĊĠĠĠĠĠĠĠ Ġtime 2 : ĠString , ĊĠĠĠĠĠĠĠ Ġprecision : ĠInt ĊĠĠĠ Ġ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdelta Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring 2 Millis ( time 1 , ĠgetDefault Format ()) Ġ- Ġstring 2 Millis ( time 2 , ĠgetDefault Format ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġmillis 2 Fit TimeSpan ( delta , Ġprecision ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ æĭŁ åĲĪ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 0 , Ġreturn Ġnull ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 1 , Ġreturn Ġ å¤© ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 2 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 3 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 4 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ , Ġ ç§Ĵ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ& gt ;= Ġ 5 ï¼Į return Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ , Ġ ç§Ĵ , Ġæ¯ « ç§Ĵ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Fit TimeSpan ( ĊĠĠĠĠĠĠĠ Ġtime 1 : ĠString , ĊĠĠĠĠĠĠĠ Ġtime 2 : ĠString , ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġprecision : ĠInt ĊĠĠĠ Ġ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdelta Ġ= Ġstring 2 Millis ( time 1 , Ġformat ) Ġ- Ġstring 2 Millis ( time 2 , Ġformat ) ĊĠĠĠĠĠĠĠ Ġreturn Ġmillis 2 Fit TimeSpan ( delta , Ġprecision ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ æĭŁ åĲĪ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 0 , Ġreturn Ġnull ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 1 , Ġreturn Ġ å¤© ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 2 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 3 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 4 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ , Ġ ç§Ĵ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ& gt ;= Ġ 5 ï¼Į return Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ , Ġ ç§Ĵ , Ġæ¯ « ç§Ĵ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Fit TimeSpan ( date 1 : ĠDate , Ġdate 2 : ĠDate , Ġprecision : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġmillis 2 Fit TimeSpan ( date 2 Millis ( date 1 ) Ġ- Ġdate 2 Millis ( date 2 ), Ġprecision ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ æĭŁ åĲĪ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 0 , Ġreturn Ġnull ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 1 , Ġreturn Ġ å¤© ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 2 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 3 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 4 , Ġreturn Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ , Ġ ç§Ĵ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ& gt ;= Ġ 5 ï¼Į return Ġ å¤© , Ġå°ı æĹ¶ , ĠåĪĨ éĴŁ , Ġ ç§Ĵ , Ġæ¯ « ç§Ĵ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Fit TimeSpan ( ĊĠĠĠĠĠĠĠ Ġmillis 1 : ĠLong , ĊĠĠĠĠĠĠĠ Ġmillis 2 : ĠLong , ĊĠĠĠĠĠĠĠ Ġprecision : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 Fit TimeSpan ( millis 1 Ġ- Ġmillis 2 , Ġprecision ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġå½ĵåīį æĹ¶éĹ´ æĪ ³ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Now M ills () Ġ= ĠSystem . currentTimeMillis () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġå½ĵåīį æĹ¶éĹ´ ĊĠĠĠĠ Ġ* Ġpattern Ġ= Ġ` yyyy - MM - dd ĠHH : mm : ss ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Now String () Ġ= Ġmillis 2 String ( System . currentTimeMillis (), ĠgetDefault Format ()) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġå½ĵåīį æĹ¶éĹ´ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Now String ( format : ĠDate Format ) Ġ= Ġmillis 2 String ( System . currentTimeMillis (), Ġformat ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġå½ĵåīį æĹ¶éĹ´ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Now Date () Ġ= ĠDate () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® åįķä½į è¿ĶåĽŀ ä¸İ å½ĵåīį æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġpattern Ġ= Ġ` yyyy - MM - dd ĠHH : mm : ss ` ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget TimeSpan By Now ( time : ĠString , Ġ@ Time Constants . Unit Ġunit : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġget TimeSpan ( time , Ġget Now String (), ĠgetDefault Format (), Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® åįķä½į è¿ĶåĽŀ ä¸İ å½ĵåīį æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget TimeSpan By Now ( ĊĠĠĠĠĠĠĠ Ġtime : ĠString , ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġget TimeSpan ( time , Ġget Now String ( format ), Ġformat , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® åįķä½į è¿ĶåĽŀ ä¸İ å½ĵåīį æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget TimeSpan By Now ( date : ĠDate , Ġ@ Time Constants . Unit Ġunit : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġget TimeSpan ( date , ĠDate (), Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® åįķä½į è¿ĶåĽŀ ä¸İ å½ĵåīį æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget TimeSpan By Now ( millis : ĠLong , Ġ@ Time Constants . Unit Ġunit : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġget TimeSpan ( millis , ĠSystem . currentTimeMillis (), Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ ä¸İ å½ĵåīį æĭŁ åĲĪ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġpattern Ġ= Ġ` yyyy - MM - dd ĠHH : mm : ss ` ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 0 ï¼Į è¿ĶåĽŀ Ġnull ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 1 ï¼Į è¿ĶåĽŀ å¤© ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 2 ï¼Į è¿ĶåĽŀ å¤© åĴĮ å°ı æĹ¶ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 3 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ åĴĮ åĪĨ éĴŁ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 4 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ ãĢģ åĪĨ éĴŁ åĴĮ ç§Ĵ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ& gt ;= Ġ 5 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ ãĢģ åĪĨ éĴŁ ãĢģ ç§Ĵ åĴĮ æ¯ « ç§Ĵ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Fit TimeSpan By Now ( time : ĠString , Ġprecision : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġget Fit TimeSpan ( time , Ġget Now String (), ĠgetDefault Format (), Ġprecision ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ ä¸İ å½ĵåīį æĭŁ åĲĪ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 0 ï¼Į è¿ĶåĽŀ Ġnull ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 1 ï¼Į è¿ĶåĽŀ å¤© ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 2 ï¼Į è¿ĶåĽŀ å¤© åĴĮ å°ı æĹ¶ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 3 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ åĴĮ åĪĨ éĴŁ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 4 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ ãĢģ åĪĨ éĴŁ åĴĮ ç§Ĵ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ& gt ;= Ġ 5 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ ãĢģ åĪĨ éĴŁ ãĢģ ç§Ĵ åĴĮ æ¯ « ç§Ĵ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Fit TimeSpan By Now ( ĊĠĠĠĠĠĠĠ Ġtime : ĠString , ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġprecision : ĠInt ĊĠĠĠ Ġ) Ġ= Ġget Fit TimeSpan ( time , Ġget Now String ( format ), Ġformat , Ġprecision ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ ä¸İ å½ĵåīį æĭŁ åĲĪ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 0 ï¼Į è¿ĶåĽŀ Ġnull ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 1 ï¼Į è¿ĶåĽŀ å¤© ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 2 ï¼Į è¿ĶåĽŀ å¤© åĴĮ å°ı æĹ¶ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 3 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ åĴĮ åĪĨ éĴŁ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 4 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ ãĢģ åĪĨ éĴŁ åĴĮ ç§Ĵ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ& gt ;= Ġ 5 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ ãĢģ åĪĨ éĴŁ ãĢģ ç§Ĵ åĴĮ æ¯ « ç§Ĵ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Fit TimeSpan By Now ( date : ĠDate , Ġprecision : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġget Fit TimeSpan ( date , Ġget Now Date (), Ġprecision ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ ä¸İ å½ĵåīį æĭŁ åĲĪ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 0 ï¼Į è¿ĶåĽŀ Ġnull ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 1 ï¼Į è¿ĶåĽŀ å¤© ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 2 ï¼Į è¿ĶåĽŀ å¤© åĴĮ å°ı æĹ¶ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 3 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ åĴĮ åĪĨ éĴŁ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ= Ġ 4 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ ãĢģ åĪĨ éĴŁ åĴĮ ç§Ĵ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġprecision Ġ& gt ;= Ġ 5 ï¼Į è¿ĶåĽŀ å¤© ãĢģ å°ı æĹ¶ ãĢģ åĪĨ éĴŁ ãĢģ ç§Ĵ åĴĮ æ¯ « ç§Ĵ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Fit TimeSpan By Now ( millis : ĠLong , Ġprecision : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġget Fit TimeSpan ( millis , ĠSystem . currentTimeMillis (), Ġprecision ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ ä¸İ çİ°åľ¨ åıĭ å¥½çļĦ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġpattern Ġ= Ġ` yyyy - MM - dd ĠHH : mm : ss ` ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ å°ı äºİ Ġ 1 Ġ ç§Ĵ éĴŁ åĨħ ï¼Į æĺ¾ç¤º åĪļ åĪļ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 ĠåĪĨ éĴŁ åĨħ ï¼Į æĺ¾ç¤º ĠXXX ç§Ĵ åīį ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 Ġå°ı æĹ¶ åĨħ ï¼Į æĺ¾ç¤º ĠXXX åĪĨ éĴŁ åīį ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 Ġå°ı æĹ¶ å¤ĸ çļĦ ä»Ĭå¤© åĨħ ï¼Į æĺ¾ç¤º ä»Ĭå¤© 1 5 : 3 2 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ æĺ¯ æĺ ¨ å¤© çļĦ ï¼Į æĺ¾ç¤º æĺ ¨ å¤© 1 5 : 3 2 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ åħ¶ ä½Ļ æĺ¾ç¤º ï¼Į 2 0 1 6 - 1 0 - 1 5 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ æĹ¶éĹ´ ä¸į åĲĪ æ³ķ çļĦ æĥħåĨµ åħ¨éĥ¨ æĹ¥æľŁ åĴĮ æĹ¶éĹ´ ä¿¡æģ¯ ï¼Į å¦Ĥ æĺŁ æľŁ åħŃ Ġ åįģ æľĪ Ġ 2 7 Ġ 1 4 : 2 1 : 2 0 ĠC ST Ġ 2 0 0 7 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Friendly TimeSpan By Now ( time : ĠString ) Ġ= Ġget Friendly TimeSpan By Now ( time , ĠgetDefault Format ()) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ ä¸İ çİ°åľ¨ åıĭ å¥½çļĦ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ å°ı äºİ Ġ 1 Ġ ç§Ĵ éĴŁ åĨħ ï¼Į æĺ¾ç¤º åĪļ åĪļ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 ĠåĪĨ éĴŁ åĨħ ï¼Į æĺ¾ç¤º ĠXXX ç§Ĵ åīį ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 Ġå°ı æĹ¶ åĨħ ï¼Į æĺ¾ç¤º ĠXXX åĪĨ éĴŁ åīį ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 Ġå°ı æĹ¶ å¤ĸ çļĦ ä»Ĭå¤© åĨħ ï¼Į æĺ¾ç¤º ä»Ĭå¤© 1 5 : 3 2 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ æĺ¯ æĺ ¨ å¤© çļĦ ï¼Į æĺ¾ç¤º æĺ ¨ å¤© 1 5 : 3 2 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ åħ¶ ä½Ļ æĺ¾ç¤º ï¼Į 2 0 1 6 - 1 0 - 1 5 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ æĹ¶éĹ´ ä¸į åĲĪ æ³ķ çļĦ æĥħåĨµ åħ¨éĥ¨ æĹ¥æľŁ åĴĮ æĹ¶éĹ´ ä¿¡æģ¯ ï¼Į å¦Ĥ æĺŁ æľŁ åħŃ Ġ åįģ æľĪ Ġ 2 7 Ġ 1 4 : 2 1 : 2 0 ĠC ST Ġ 2 0 0 7 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Friendly TimeSpan By Now ( ĊĠĠĠĠĠĠĠ Ġtime : ĠString , ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format ĊĠĠĠ Ġ) Ġ= Ġget Friendly TimeSpan By Now ( string 2 Millis ( time , Ġformat )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ ä¸İ çİ°åľ¨ åıĭ å¥½çļĦ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ å°ı äºİ Ġ 1 Ġ ç§Ĵ éĴŁ åĨħ ï¼Į æĺ¾ç¤º åĪļ åĪļ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 ĠåĪĨ éĴŁ åĨħ ï¼Į æĺ¾ç¤º ĠXXX ç§Ĵ åīį ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 Ġå°ı æĹ¶ åĨħ ï¼Į æĺ¾ç¤º ĠXXX åĪĨ éĴŁ åīį ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 Ġå°ı æĹ¶ å¤ĸ çļĦ ä»Ĭå¤© åĨħ ï¼Į æĺ¾ç¤º ä»Ĭå¤© 1 5 : 3 2 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ æĺ¯ æĺ ¨ å¤© çļĦ ï¼Į æĺ¾ç¤º æĺ ¨ å¤© 1 5 : 3 2 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ åħ¶ ä½Ļ æĺ¾ç¤º ï¼Į 2 0 1 6 - 1 0 - 1 5 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ æĹ¶éĹ´ ä¸į åĲĪ æ³ķ çļĦ æĥħåĨµ åħ¨éĥ¨ æĹ¥æľŁ åĴĮ æĹ¶éĹ´ ä¿¡æģ¯ ï¼Į å¦Ĥ æĺŁ æľŁ åħŃ Ġ åįģ æľĪ Ġ 2 7 Ġ 1 4 : 2 1 : 2 0 ĠC ST Ġ 2 0 0 7 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Friendly TimeSpan By Now ( date : ĠDate ) Ġ= Ġget Friendly TimeSpan By Now ( date . time ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ ä¸İ çİ°åľ¨ åıĭ å¥½çļĦ æĹ¶éĹ´ è·¨ åº¦ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ å°ı äºİ Ġ 1 Ġ ç§Ĵ éĴŁ åĨħ ï¼Į æĺ¾ç¤º åĪļ åĪļ ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 ĠåĪĨ éĴŁ åĨħ ï¼Į æĺ¾ç¤º ĠXXX ç§Ĵ åīį ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 Ġå°ı æĹ¶ åĨħ ï¼Į æĺ¾ç¤º ĠXXX åĪĨ éĴŁ åīį ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ åľ¨ Ġ 1 Ġå°ı æĹ¶ å¤ĸ çļĦ ä»Ĭå¤© åĨħ ï¼Į æĺ¾ç¤º ä»Ĭå¤© 1 5 : 3 2 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġå¦Ĥæŀľ æĺ¯ æĺ ¨ å¤© çļĦ ï¼Į æĺ¾ç¤º æĺ ¨ å¤© 1 5 : 3 2 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ åħ¶ ä½Ļ æĺ¾ç¤º ï¼Į 2 0 1 6 - 1 0 - 1 5 ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ æĹ¶éĹ´ ä¸į åĲĪ æ³ķ çļĦ æĥħåĨµ åħ¨éĥ¨ æĹ¥æľŁ åĴĮ æĹ¶éĹ´ ä¿¡æģ¯ ï¼Į å¦Ĥ æĺŁ æľŁ åħŃ Ġ åįģ æľĪ Ġ 2 7 Ġ 1 4 : 2 1 : 2 0 ĠC ST Ġ 2 0 0 7 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Friendly TimeSpan By Now ( millis : ĠLong ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġval Ġspan Ġ= Ġnow Ġ- Ġmillis ĊĠĠĠĠĠĠĠ Ġif Ġ( span Ġ< Ġ 0 ) Ġ// ĠU Ġcan Ġread Ġhttp :// www . api home . cn / api / java / Formatter . html Ġto Ġunderstand Ġit . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠString . format ("% tc ", Ġmillis ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspan Ġ< Ġ 1 0 0 0 Ġ-> Ġreturn Ġ" åĪļ åĪļ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspan Ġ< ĠTime Constants . MIN Ġ-> Ġreturn Ġjava . lang . String . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"% d ç§Ĵ åīį ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan Ġ/ ĠTime Constants . SEC ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspan Ġ< ĠTime Constants . HOUR Ġ-> Ġreturn Ġjava . lang . String . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale . getDefault (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"% d åĪĨ éĴŁ åīį ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan Ġ/ ĠTime Constants . MIN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ å½ĵ å¤© Ġ 0 0 : 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwe e Ġ= Ġget W ee Of Today () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmillis Ġ>= Ġwe e Ġ-> ĠString . format (" ä»Ĭå¤© % t R ", Ġmillis ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmillis Ġ>= Ġwe e Ġ- ĠTime Constants . DAY Ġ-> ĠString . format (" æĺ ¨ å¤© % t R ", Ġmillis ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmillis Ġ>= Ġget W ee Of This Week () Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcal Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcal . time In Millis Ġ= Ġmillis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġweek Int Ġ= Ġcal . get ( Calendar . DAY _ OF _ WEEK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cal . first DayOfWeek Ġ== ĠCalendar . S UND AY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweek Int Ġ-= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( week Int Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweek Int Ġ= Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( week Int ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ" åĳ¨ ä¸Ģ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ" åĳ¨ äºĮ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ" åĳ¨ ä¸ī " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> Ġ" åĳ¨ åĽĽ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> Ġ" åĳ¨ äºĶ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 6 Ġ-> Ġ" åĳ¨ åħŃ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" åĳ¨ æĹ¥ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ${ millis 2 String ( millis , Ġ" HH : mm ") }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmillis Ġ>= Ġget W ee Of This Year () Ġ-> Ġmillis 2 String ( millis , Ġ" M æľĪ d æĹ¥ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġmillis 2 String ( millis , Ġ" yyyy å¹´ M æľĪ d æĹ¥ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget W ee Of Today (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcal Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . HOUR _ OF _ DAY ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . SECOND ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . MINUTE ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . MILLI SECOND ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġreturn Ġcal . time In Millis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget W ee Of This Week (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcal Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . DAY _ OF _ WEEK ] Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . HOUR _ OF _ DAY ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . SECOND ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . MINUTE ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . MILLI SECOND ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġreturn Ġcal . time In Millis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget W ee Of This Year (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcal Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . DAY _ OF _ YEAR ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . HOUR _ OF _ DAY ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . SECOND ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . MINUTE ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġcal [ Calendar . MILLI SECOND ] Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġreturn Ġcal . time In Millis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġmillis ĠĠ ĠThe Ġmilliseconds . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Millis ( ĊĠĠĠĠĠĠĠ Ġmillis : ĠLong , ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis Ġ+ Ġtime Span 2 Millis ( time Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġpattern Ġis Ġ` yyyy - MM - dd ĠHH : mm : ss `. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime ĠĠĠĠ ĠThe Ġformatted Ġtime Ġstring . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Millis ( ĊĠĠĠĠĠĠĠ Ġtime : ĠString ?, ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġget Millis ( time , ĠgetDefault Format (), Ġtime Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime ĠĠĠĠ ĠThe Ġformatted Ġtime Ġstring . ĊĠĠĠĠ Ġ* Ġ@ param Ġformat ĠĠ ĠThe Ġformat . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Millis ( ĊĠĠĠĠĠĠĠ Ġtime : ĠString ?, ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġstring 2 Millis ( time !! , Ġformat ) Ġ+ Ġtime Span 2 Millis ( time Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdate ĠĠĠĠ ĠThe Ġdate . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Millis ( ĊĠĠĠĠĠĠĠ Ġdate : ĠDate ?, ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġdate 2 Millis ( date !! ) Ġ+ Ġtime Span 2 Millis ( time Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġpattern Ġis Ġ` yyyy - MM - dd ĠHH : mm : ss `. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġmillis ĠĠ ĠThe Ġmilliseconds . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetString ( ĊĠĠĠĠĠĠĠ Ġmillis : ĠLong , ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= ĠgetString ( millis , ĠgetDefault Format (), Ġtime Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġmillis ĠĠ ĠThe Ġmilliseconds . ĊĠĠĠĠ Ġ* Ġ@ param Ġformat ĠĠ ĠThe Ġformat . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetString ( ĊĠĠĠĠĠĠĠ Ġmillis : ĠLong , ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 String ( millis Ġ+ Ġtime Span 2 Millis ( time Span , Ġunit ), Ġformat ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġpattern Ġis Ġ` yyyy - MM - dd ĠHH : mm : ss `. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime ĠĠĠĠ ĠThe Ġformatted Ġtime Ġstring . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetString ( ĊĠĠĠĠĠĠĠ Ġtime : ĠString ?, ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= ĠgetString ( time , ĠgetDefault Format (), Ġtime Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime ĠĠĠĠ ĠThe Ġformatted Ġtime Ġstring . ĊĠĠĠĠ Ġ* Ġ@ param Ġformat ĠĠ ĠThe Ġformat . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetString ( ĊĠĠĠĠĠĠĠ Ġtime : ĠString ?, ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 String ( string 2 Millis ( time !! , Ġformat ) Ġ+ Ġtime Span 2 Millis ( time Span , Ġunit ), Ġformat ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġpattern Ġis Ġ` yyyy - MM - dd ĠHH : mm : ss `. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdate ĠĠĠĠ ĠThe Ġdate . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetString ( ĊĠĠĠĠĠĠĠ Ġdate : ĠDate ?, ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= ĠgetString ( date , ĠgetDefault Format (), Ġtime Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdate ĠĠĠĠ ĠThe Ġdate . ĊĠĠĠĠ Ġ* Ġ@ param Ġformat ĠĠ ĠThe Ġformat . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetString ( ĊĠĠĠĠĠĠĠ Ġdate : ĠDate ?, ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 String ( date 2 Millis ( date !! ) Ġ+ Ġtime Span 2 Millis ( time Span , Ġunit ), Ġformat ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġdate Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġmillis ĠĠ ĠThe Ġmilliseconds . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġdate Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Date ( ĊĠĠĠĠĠĠĠ Ġmillis : ĠLong , ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 Date ( millis Ġ+ Ġtime Span 2 Millis ( time Span , Ġunit )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġdate Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġpattern Ġis Ġ` yyyy - MM - dd ĠHH : mm : ss `. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime ĠĠĠĠ ĠThe Ġformatted Ġtime Ġstring . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġdate Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Date ( ĊĠĠĠĠĠĠĠ Ġtime : ĠString ?, ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġget Date ( time , ĠgetDefault Format (), Ġtime Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġdate Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime ĠĠĠĠ ĠThe Ġformatted Ġtime Ġstring . ĊĠĠĠĠ Ġ* Ġ@ param Ġformat ĠĠ ĠThe Ġformat . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġdate Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Date ( ĊĠĠĠĠĠĠĠ Ġtime : ĠString ?, ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 Date ( string 2 Millis ( time !! , Ġformat ) Ġ+ Ġtime Span 2 Millis ( time Span , Ġunit )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġdate Ġdiffer Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdate ĠĠĠĠ ĠThe Ġdate . ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġdate Ġdiffer Ġtime Ġspan ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Date ( ĊĠĠĠĠĠĠĠ Ġdate : ĠDate ?, ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= Ġmillis 2 Date ( date 2 Millis ( date !! ) Ġ+ Ġtime Span 2 Millis ( time Span , Ġunit )) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan Ġby Ġnow . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġmilliseconds Ġdiffer Ġtime Ġspan Ġby Ġnow ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Millis By Now ( time Span : ĠLong , Ġ@ Time Constants . Unit Ġunit : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġget Millis ( get Now M ills (), Ġtime Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan Ġby Ġnow . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġpattern Ġis Ġ` yyyy - MM - dd ĠHH : mm : ss `. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan Ġby Ġnow ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetString By Now ( time Span : ĠLong , Ġ@ Time Constants . Unit Ġunit : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ ĠgetString By Now ( time Span , ĠgetDefault Format (), Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan Ġby Ġnow . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġformat ĠĠ ĠThe Ġformat . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġformatted Ġtime Ġstring Ġdiffer Ġtime Ġspan Ġby Ġnow ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetString By Now ( ĊĠĠĠĠĠĠĠ Ġtime Span : ĠLong , ĊĠĠĠĠĠĠĠ Ġformat : ĠDate Format , ĊĠĠĠĠĠĠĠ Ġ@ Time Constants . Unit Ġunit : ĠInt ĊĠĠĠ Ġ) Ġ= ĠgetString ( get Now M ills (), Ġformat , Ġtime Span , Ġunit ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġdate Ġdiffer Ġtime Ġspan Ġby Ġnow . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtime Span ĠThe Ġtime Ġspan . ĊĠĠĠĠ Ġ* Ġ@ param Ġunit ĠĠĠĠ ĠThe Ġunit Ġof Ġtime Ġspan . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . M SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . SEC ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . MIN ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . HOUR ] ĊĠĠĠĠ Ġ* Ġ Ġ* Ġ[ Time Constants . DAY ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġdate Ġdiffer Ġtime Ġspan Ġby Ġnow ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Date By Now ( time Span : ĠLong , Ġ@ Time Constants . Unit Ġunit : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġget Date ( get Now M ills (), Ġtime Span , Ġunit ) ĊĊĠĠĠ Ġprivate Ġfun Ġtime Span 2 Millis ( time Span : ĠLong , Ġ@ Time Constants . Unit Ġunit : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtime Span Ġ* Ġunit ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmillis 2 TimeSpan ( millis : ĠLong , Ġ@ Time Constants . Unit Ġunit : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmillis Ġ/ Ġunit ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmillis 2 Fit TimeSpan ( millis : ĠLong , Ġprecision : ĠInt ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmillis 1 Ġ= Ġmillis ĊĠĠĠĠĠĠĠ Ġvar Ġprecision 1 Ġ= Ġprecision ĊĠĠĠĠĠĠĠ Ġif Ġ( precision 1 Ġ<= Ġ 0 ) Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġprecision 1 Ġ= Ġprecision 1 . coerce At Most ( 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġunits Ġ= ĠarrayOf (" å¤© ", Ġ" å°ı æĹ¶ ", Ġ" åĪĨ éĴŁ ", Ġ" ç§Ĵ ", Ġ" æ¯ « ç§Ĵ ") ĊĠĠĠĠĠĠĠ Ġif Ġ( millis 1 Ġ== Ġ 0 L ) Ġreturn Ġ" 0 " Ġ+ Ġunits [ precision 1 Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġif Ġ( millis 1 Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ("- ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmillis 1 Ġ= Ġ- millis 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġunit Len Ġ= Ġint ArrayOf ( 8 6 4 0 0 0 0 0 , Ġ 3 6 0 0 0 0 0 , Ġ 6 0 0 0 0 , Ġ 1 0 0 0 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġprecision 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( millis 1 Ġ>= Ġunit Len [ i ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmode Ġ= Ġmillis 1 Ġ/ Ġunit Len [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmillis 1 Ġ-= Ġmode Ġ* Ġunit Len [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( mode ). append ( units [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsb . toString () ĊĠĠĠ Ġ} Ċ }