package Ġcom . jn . k ik uk t . common . utils . date Ċ Ċ import Ġcom . jn . k ik uk t . common . utils . date . Date Utils . YYYY _ MM _ DD _ HH _ MM _ SS Ċ import Ġcom . jn . k ik uk t . common . utils . date . Date Utils . YYYY _ MM _ DD _ SH OR TH AND Ċ import Ġjava . text . ParseException Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠAuthor ï¼ļ St ev ie . Ch en ĠTime ï¼ļ 2 0 1 9 / 7 / 1 5 Ċ Ġ* ĠClass ĠComment ï¼ļ Ċ Ġ*/ Ċ object ĠDate Utils Ġ{ ĊĠĠĠ Ġconst Ġval ĠYYYY _ MM _ DD Ġ= Ġ" yyyy - MM - dd " // çŁŃ æĹ¥æľŁ æł¼å¼ı ĊĠĠĠ Ġconst Ġval ĠYYYY _ MM Ġ= Ġ" yyyy - MM " // çŁŃ æĹ¥æľŁ æł¼å¼ı ĊĠĠĠ Ġconst Ġval ĠYYYY _ MM _ DD _ SH OR TH AND Ġ= Ġ" yyyy MM dd " // çŁŃ æĹ¥æľŁ æł¼å¼ı ĊĠĠĠ Ġconst Ġval ĠYYYY _ MM _ DD _ HH _ MM _ SS Ġ= Ġ" yyyy - MM - dd ĠHH : mm : ss " // éķ¿ æĹ¥æľŁ æĹ¶éĹ´ æł¼å¼ı ĊĠĠĠ Ġconst Ġval ĠHH _ MM _ SS Ġ= Ġ" HH : mm : ss " // éķ¿ æĹ¶éĹ´ æł¼å¼ı ĊĠĠĠ Ġconst Ġval ĠHH _ MM Ġ= Ġ" HH : mm " // çŁŃ æĹ¶éĹ´ æł¼å¼ı ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ å½ĵåīį æĹ¶éĹ´ .( yyyy - MM - dd ĠHH : mm : ss ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Curr Time ( pattern : ĠString Ġ= ĠYYYY _ MM _ DD _ HH _ MM _ SS ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSimpleDateFormat ( pattern , ĠLocale . getDefault ()). format ( Date ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġ æł¼å¼ı åĮĸ æĹ¶éĹ´ . Ċ Ġ*/ Ċ fun ĠString . format Date Str (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( isNotEmpty () Ġ&& Ġ( length Ġ== Ġ 8 Ġ|| Ġlength Ġ== Ġ 1 4 )) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( length Ġ== Ġ 8 ) Ġ"${ substring ( 0 , Ġ 4 )} -${ substring ( 4 , Ġ 6 )} -${ substring ( 6 , Ġ 8 )}" ĊĠĠĠĠĠĠĠ Ġelse Ġ"${ substring ( 0 , Ġ 4 )} -${ substring ( 4 , Ġ 6 )} -${ substring ( 6 , Ġ 8 )} Ġ${ substring ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 ĊĠĠĠĠĠĠĠ Ġ) }:${ substring ( 1 0 , Ġ 1 2 )} :${ substring ( 1 2 , Ġ 1 4 )}" ĊĠĠĠ Ġ} Ġelse Ġ"" Ċ } Ċ Ċ /** Ċ Ġ* Ġå°Ĩ æĹ¶éĹ´ åŃĹç¬¦ä¸² æł¼å¼ı åĮĸ æĪĲ ä¸Ģä¸ª æĹ¥æľŁ (" 2 0 1 4 - 0 6 - 1 5 Ġ 1 2 : 3 0 : 1 2 ") Ċ Ġ* Ġ@ param Ġpattern Ġ æł¼å¼ı åĮĸ æ¨¡æĿ¿ ï¼Į å¦Ĥ " yyyy - MM - dd ĠHH : mm : ss " Ċ Ġ*/ Ċ fun ĠString . toDate ( pattern : ĠString Ġ= ĠYYYY _ MM _ DD _ HH _ MM _ SS ): ĠDate ? Ġ{ ĊĠĠĠ Ġval ĠdateFormat Ġ= ĠSimpleDateFormat ( pattern , ĠLocale . getDefault ()) ĊĠĠĠ Ġvar Ġdate : ĠDate ? Ġ= Ġnull ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġdate Ġ= ĠdateFormat . parse ( this ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġdate Ċ } Ċ Ċ /** Ċ Ġ* Ġ æł¼å¼ı åĮĸ æĹ¶éĹ´ åŃĹç¬¦ä¸² (" 2 0 1 4 - 0 6 - 1 5 Ġ 1 2 : 3 0 : 1 2 ") Ċ Ġ* Ġ@ param Ġpattern Ġ æł¼å¼ı åĮĸ æ¨¡æĿ¿ ï¼Į å¦Ĥ " yyyy - MM - dd ĠHH : mm : ss " Ċ Ġ*/ Ċ fun ĠString . format Date ( pattern : ĠString Ġ= ĠYYYY _ MM _ DD _ HH _ MM _ SS ): ĠString ? Ġ{ ĊĠĠĠ Ġval ĠdateFormat Ġ= ĠSimpleDateFormat ( pattern , ĠLocale . getDefault ()) ĊĠĠĠ Ġvar Ġdate Str Ġ= Ġ"" ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠdateFormat . parse ( this ) ĊĠĠĠĠĠĠĠ Ġif Ġ( date Ġ!= Ġnull ) Ġdate Str Ġ= ĠdateFormat . format ( date ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġdate Str Ċ } Ċ Ċ /** Ċ Ġ* Ġ æł¼å¼ı åĮĸ [ Date ](" 2 0 1 4 - 0 6 - 1 5 Ġ 1 2 : 3 0 : 1 2 ") Ċ Ġ* Ġ@ param Ġpattern Ġ æł¼å¼ı åĮĸ æ¨¡æĿ¿ ï¼Į å¦Ĥ " yyyy - MM - dd ĠHH : mm : ss " Ċ Ġ*/ Ċ fun ĠString . format Date ( date : ĠDate , Ġpattern : ĠString Ġ= ĠYYYY _ MM _ DD _ HH _ MM _ SS ): ĠString ? Ġ{ ĊĠĠĠ Ġval ĠdateFormat Ġ= ĠSimpleDateFormat ( pattern , ĠLocale . getDefault ()) ĊĠĠĠ Ġvar Ġdate Str Ġ= Ġ"" ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġdate Str Ġ= ĠdateFormat . format ( date ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġdate Str Ċ } Ċ Ċ /** Ċ Ġ* Ġå°Ĩ ä¸Ģä¸ª æ¯ « ç§Ĵ æķ° æĹ¶éĹ´ è½¬æį¢ ä¸º çĽ¸åºĶ çļĦæĹ¶éĹ´ æł¼å¼ı ï¼Ī yyyy - MM - dd Ġhh : mm : ss ï¼ī Ċ Ġ*/ Ċ fun ĠLong . format Date ( pattern : ĠString Ġ= ĠYYYY _ MM _ DD _ HH _ MM _ SS ): ĠString Ġ{ ĊĠĠĠ Ġval Ġgc Ġ= ĠG regorian Calendar () ĊĠĠĠ Ġgc . time In Millis Ġ= Ġthis ĊĠĠĠ Ġval Ġformat Ġ= ĠSimpleDateFormat ( YYYY _ MM _ DD _ HH _ MM _ SS , ĠLocale . getDefault ()) ĊĠĠĠ Ġreturn Ġformat . format ( gc . time ) Ċ } Ċ Ċ /** Ċ Ġ* Ġå°Ĩ æĹ¥æľŁ æł¼å¼ı çļĦ åŃĹç¬¦ä¸² è½¬æį¢ ä¸º éķ¿ æķ´ åŀĭ Ċ Ġ*/ Ċ fun ĠString . toDate Long ( pattern : ĠString Ġ= ĠYYYY _ MM _ DD _ HH _ MM _ SS ): ĠLong ? Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsf Ġ= ĠSimpleDateFormat ( pattern , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġsf . parse ( this )?. time ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġ 0 L Ċ } Ċ Ċ /** Ċ Ġ* Ġ æĹ¶éĹ´ åıĸ åĩº å¹´ æľĪ æĹ¥ æĺ¾ç¤º Ċ Ġ*/ Ċ fun ĠString . format Date ( ĊĠĠĠ Ġis Year : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġis Month : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġis Day : ĠBoolean Ġ= Ġtrue Ċ ): ĠString Ġ{ ĊĠĠĠ Ġval Ġformat Ġ= ĠSimpleDateFormat ( YYYY _ MM _ DD _ HH _ MM _ SS , ĠLocale . getDefault ()) ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠçĶ¨ parse æĸ¹æ³ķ ï¼Į åı¯èĥ½ä¼ļ å¼Ĥå¸¸ ï¼Į æīĢä»¥ è¦ģ try - catch ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġformat . parse ( this ) ĊĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ æĹ¥æľŁ å®ŀä¾ĭ ĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġ// Ġå°Ĩ æĹ¥ åİĨ è®¾ç½®ä¸º æĮĩå®ļ çļĦæĹ¶éĹ´ ĊĠĠĠĠĠĠĠ Ġif Ġ( date Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . time Ġ= Ġdate ĊĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ å¹´ ĊĠĠĠĠĠĠĠ Ġval Ġyear Ġ= Ġcalendar . get ( Calendar . YEAR ) ĊĠĠĠĠĠĠĠ Ġ// Ġ è¿ĻéĩĮ è¦ģ æ³¨æĦı ï¼Į æľĪ ä»½ æĺ¯ ä»İ 0 å¼Ģå§ĭ ãĢĤ ĊĠĠĠĠĠĠĠ Ġval Ġmonth Ġ= Ġcalendar . get ( Calendar . MONTH ) ĊĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ å¤© ĊĠĠĠĠĠĠĠ Ġval Ġday Ġ= Ġcalendar . get ( Calendar . DAY _ OF _ MONTH ) ĊĠĠĠĠĠĠĠ Ġval Ġmonth Str Ġ= Ġif Ġ( month Ġ< Ġ 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 ${ month Ġ+ Ġ 1 }" ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ month Ġ+ Ġ 1 }" ĊĠĠĠĠĠĠĠ Ġval Ġday Str Ġ= Ġif Ġ( day Ġ< Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 $ day " ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġday . toString () ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( is Year Ġ&& Ġis Month Ġ&& Ġis Day ) Ġ"$ year -$ month Str -$ day Str " ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( is Year Ġ&& Ġis Month ) Ġ"$ year -$ month Str " ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( is Month Ġ&& Ġis Day ) Ġ"$ month Str -$ day Str " ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( is Year ) Ġ"$ year " ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( is Month ) Ġmonth Str ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( is Day ) Ġday Str ĊĠĠĠĠĠĠĠ Ġelse Ġ"" ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġ"" Ċ } Ċ Ċ /** Ċ Ġ* Ġèİ·åıĸ ä¸ĭ ä¸Ģ å¤© . Ċ Ġ* Ċ Ġ* Ġ@ return Ġthe Ġnext Ġdate Ġstr Ċ Ġ*/ Ċ fun ĠString . getNext Day (): ĠString Ġ{ ĊĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat ( YYYY _ MM _ DD _ SH OR TH AND , ĠLocale . getDefault ()) ĊĠĠĠ Ġval Ġdate Ġ= Ġsdf . parse ( this ) ĊĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠ Ġif Ġ( date Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġcalendar . time Ġ= Ġdate ĊĠĠĠ Ġcalendar . add ( Calendar . DATE , Ġ 1 ) ĊĠĠĠ Ġreturn Ġsdf . format ( calendar . time ) Ċ } Ċ Ċ /** Ċ Ġ* Ġèİ·åıĸ ä¸Ĭ ä¸Ģ å¤© . Ċ Ġ* Ċ Ġ* Ġ@ return Ġthe Ġnext Ġdate Ġstr Ċ Ġ*/ Ċ fun ĠString . getY esterday (): ĠString Ġ{ ĊĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat ( YYYY _ MM _ DD _ SH OR TH AND , ĠLocale . getDefault ()) ĊĠĠĠ Ġval Ġdate Ġ= Ġsdf . parse ( this ) ĊĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠ Ġif Ġ( date Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġcalendar . time Ġ= Ġdate ĊĠĠĠ Ġcalendar . add ( Calendar . DATE , Ġ- 1 ) ĊĠĠĠ Ġreturn Ġsdf . format ( calendar . time ) Ċ } Ċ Ċ /** Ċ Ġ* Ġæł¹æį® æĹ¥æľŁ èİ·åıĸ æĺŁ æľŁ Ċ Ġ*/ Ċ fun ĠString . get Week Day By Date ( ĊĠĠĠ Ġpattern : ĠString Ġ= ĠYYYY _ MM _ DD _ HH _ MM _ SS , ĊĠĠĠ Ġweek Arrays : ĠArray < String > Ġ= ĠarrayOf (" æĺŁ æľŁ æĹ¥ ", Ġ" æĺŁ æľŁ ä¸Ģ ", Ġ" æĺŁ æľŁ äºĮ ", Ġ" æĺŁ æľŁ ä¸ī ", Ġ" æĺŁ æľŁ åĽĽ ", Ġ" æĺŁ æľŁ äºĶ ", Ġ" æĺŁ æľŁ åħŃ ") Ċ ): ĠString Ġ{ ĊĠĠĠ Ġval Ġsdf Input Ġ= ĠSimpleDateFormat ( pattern , ĠLocale . getDefault ()) ĊĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠ Ġvar Ġdate : ĠDate ? Ġ= Ġnull ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġdate Ġ= Ġsdf Input . parse ( this ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( date Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġcalendar . time Ġ= Ġdate ĊĠĠĠ Ġvar Ġday OfWeek Ġ= Ġcalendar . get ( Calendar . DAY _ OF _ WEEK ) Ġ- Ġ 1 ĊĠĠĠ Ġif Ġ( day OfWeek Ġ< Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġday OfWeek Ġ= Ġ 0 ĊĠĠĠ Ġreturn Ġweek Arrays [ day OfWeek ] Ċ }