/* Ċ Ġ* ĠTencent Ġis Ġplease d Ġto Ġsupport Ġthe Ġopen Ġsource Ġcommunity Ġby Ġmaking ĠB K - CI Ġ èĵĿ é² ¸ æĮģ ç»Ń éĽĨ æĪĲ å¹³åı° Ġavailable . Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠTH L ĠA 2 9 ĠLimited , Ġa ĠTencent Ġcompany . Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠB K - CI Ġ èĵĿ é² ¸ æĮģ ç»Ń éĽĨ æĪĲ å¹³åı° Ġis Ġlicensed Ġunder Ġthe ĠMIT Ġlicense . Ċ Ġ* Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠMIT ĠLicense Ġis Ġincluded Ġin Ġthis Ġfile . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠTerms Ġof Ġthe ĠMIT ĠLicense : Ċ Ġ* Ġ------------------------------------------------ --- Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ċ Ġ* Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ġto Ġuse , Ġcopy , Ċ Ġ* Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe Ċ Ġ* ĠSoftware Ġis Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT Ċ Ġ* ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN Ċ Ġ* ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , Ċ Ġ* ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE Ċ Ġ* ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . tencent . devops . common . api . util Ċ Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Zone Offset . UTC Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . util . Date Ċ Ċ class ĠDateTime Util Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġminute To Second Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġminutes Ġ= Ġ 6 0 ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ 3 6 0 0 ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . minute To Second ( minutes )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsecond To Minute Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġminutes Ġ= Ġ 3 6 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ 6 0 ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . second To Minute ( minutes )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġformat Date Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate . from ( LocalDateTime . of ( 2 0 2 0 , Ġ 7 , Ġ 6 , Ġ 1 , Ġ 5 9 , Ġ 5 9 ). to Instant ( UTC )) ĊĠĠĠĠĠĠĠ Ġval Ġformat Ġ= Ġ" yyyy - MM - dd ĠHH : mm : ss " ĊĠĠĠĠĠĠĠ Ġval Ġsimple DateFormat Ġ= ĠSimpleDateFormat ( format ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( simple DateFormat . format ( date ), ĠDateTime Util . format Date ( date , Ġformat )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconvert LocalDateTime To Timestamp Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠLocalDateTime . of ( 2 0 2 0 , Ġ 7 , Ġ 6 , Ġ 1 , Ġ 5 9 , Ġ 5 9 ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected : ĠLong Ġ= Ġ 1 5 9 3 9 7 1 9 9 9 ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . convert LocalDateTime To Timestamp ( date )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġto DateTime Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠLocalDateTime . of ( 2 0 2 0 , Ġ 7 , Ġ 6 , Ġ 1 , Ġ 5 9 , Ġ 5 9 ) ĊĠĠĠĠĠĠĠ Ġval Ġformat Ġ= Ġ" yyyy - MM - dd ĠHH : mm : ss " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ" 2 0 2 0 - 0 7 - 0 6 Ġ 0 1 : 5 9 : 5 9 " ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . to DateTime ( date , Ġformat )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġzone Date To Timestamp Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġ" 2 0 1 9 - 0 9 - 0 2 T 0 8 : 5 8 : 4 6 + 0 0 0 0 " ĊĠĠĠĠĠĠĠ Ġval Ġexpected : ĠLong Ġ= Ġ 1 5 6 7 4 1 4 7 2 6 0 0 0 ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . zone Date To Timestamp ( date )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġformat Time Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġ" 1 5 6 7 4 1 4 7 2 6 0 0 0 " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ" 4 3 5 3 9 2 9 7 9 æĹ¶ 2 6 åĪĨ 4 0 ç§Ĵ " ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . format Time ( date )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġformat Milli Time Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġ" 1 5 6 7 4 1 4 7 2 6 0 0 0 " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ" 4 3 5 3 9 2 æĹ¶ 5 8 åĪĨ 4 6 ç§Ĵ " ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . format Milli Time ( date )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġformat Milli Time String Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate : ĠLong Ġ= Ġ 1 5 6 7 4 1 4 7 2 6 0 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ" 4 3 5 3 9 2 æĹ¶ 5 8 åĪĨ 4 6 ç§Ĵ " ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . format Milli Time ( date )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġformat M ill Second Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate : ĠLong Ġ= Ġ 1 5 6 7 4 1 4 7 2 6 0 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ" 1 8 1 4 1 å¤© 8 æĹ¶ 5 8 åĪĨ 4 6 ç§Ĵ " ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . format M ill Second ( date )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġstring To LocalDateTime Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġ" 2 0 2 0 - 0 7 - 0 6 Ġ 0 1 : 5 9 : 5 9 " ĊĠĠĠĠĠĠĠ Ġval Ġformat Ġ= Ġ" yyyy - MM - dd ĠHH : mm : ss " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠLocalDateTime . parse (" 2 0 2 0 - 0 7 - 0 6 Ġ 0 1 : 5 9 : 5 9 ", ĠDateTime Formatter . of Pattern ( format )) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , ĠDateTime Util . string To LocalDateTime ( date , Ġformat )) ĊĠĠĠ Ġ} Ċ }