/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠR ah man ĠM oh amm adi Ċ Ġ* Ċ Ġ* Ġ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 . x dev . arch . pers ian calendar . datepicker . utils Ċ Ċ import Ġcom . x dev . arch . pers ian calendar . datepicker . calendar . Pers ian Calendar Ċ import Ġjava . util .* Ċ import Ġjava . util . Calendar .* Ċ Ċ /** Ċ Ġ* ĠI ran 's Ġtimezone Ġcode Ċ Ġ*/ Ċ private Ġconst Ġval ĠI RST Ġ= Ġ" IR ST " Ċ Ċ /** Ċ Ġ* ĠI ran 's Ġtimezone Ċ Ġ*/ Ċ private Ġval Ġtime Zone : ĠTime Zone ĊĠĠĠ Ġget () Ġ= ĠTime Zone . getTime Zone ( IR ST ) Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Pers ian Calendar ] Ġinstance Ġrepresenting Ġthe Ġday Ċ Ġ*/ Ċ val Ġtoday Calendar : ĠPers ian Calendar ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠgetInstance ( time Zone ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPers ian Calendar ( calendar ) ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Pers ian Calendar ] Ġwith Ġno Ġdata Ċ Ġ*/ Ċ val Ġir an Calendar : ĠPers ian Calendar ĊĠĠĠ Ġget () Ġ= Ġget I ran Calendar ( null ) Ċ Ċ /** Ċ Ġ* ĠConverts Ġa Ġ[ Calendar ] Ġto Ġa Ġ[ Pers ian Calendar ] Ġwith Ġ[ IR ST ] Ġtimezone Ċ Ġ* Ġ@ return Ġ[ Pers ian Calendar ] Ġwith Ġ[ IR ST ] Ġtimezone Ċ Ġ*/ Ċ private Ġfun Ġget I ran Calendar ( raw Calendar : ĠCalendar ?): ĠPers ian Calendar Ġ{ ĊĠĠĠ Ġval Ġut c Ġ= ĠgetInstance ( time Zone ) ĊĊĠĠĠ Ġif Ġ( raw Calendar Ġ== Ġnull ) Ġut c . clear () ĊĠĠĠ Ġelse Ġut c . time In Millis Ġ= Ġraw Calendar . time In Millis ĊĊĠĠĠ Ġreturn ĠPers ian Calendar ( utc ) Ċ } Ċ Ċ /** Ċ Ġ* ĠClear s Ġall Ġdata Ġfrom Ġraw Calendar Ġexcept Ġdate Ġand Ċ Ġ* Ġreturns Ġa Ġ[ Pers ian Calendar ] Ġwith Ġsame Ġdate Ġas Ġraw Calendar Ċ Ġ*/ Ċ fun Ġget Day Copy ( raw Calendar : ĠCalendar ): ĠPers ian Calendar Ġ{ ĊĠĠĠ Ġval Ġraw Ġ= Ġget I ran Calendar ( raw Calendar ) ĊĠĠĠ Ġval Ġir Calendar Ġ= Ġir an Calendar ĊĊĠĠĠ Ġir Calendar . set ( raw . get ( YEAR ), Ġraw . get ( MONTH ), Ġraw . get ( DAY _ OF _ MONTH )) ĊĠĠĠ Ġreturn Ġir Calendar Ċ } Ċ Ċ /** Ċ Ġ* ĠSets Ġdate Ġto Ġmid night Ġ 0 0 : 0 0 : 0 0 : 0 0 Ċ Ġ* Ġ@ param Ġraw Date Ġdate Ġin Ġmillis Ċ Ġ* Ġ@ return Ġmid night Ġdate Ġin Ġmillis Ċ Ġ*/ Ċ fun Ġcanonical Year Month Day ( raw Date : ĠLong ): ĠLong Ġ{ ĊĠĠĠ Ġval Ġcalendar Ġ= ĠPers ian Calendar () ĊĠĠĠ Ġcalendar . time In Millis Ġ= Ġraw Date ĊĠĠĠ Ġcalendar . time Zone Ġ= ĠTime Zone . getTime Zone ( IR ST ) ĊĠĠĠ Ġcalendar . set ( HOUR _ OF _ DAY , Ġ 0 ) ĊĠĠĠ Ġcalendar . set ( MINUTE , Ġ 0 ) ĊĠĠĠ Ġcalendar . set ( SECOND , Ġ 0 ) ĊĠĠĠ Ġcalendar . set ( MILLI SECOND , Ġ 0 ) ĊĠĠĠ Ġreturn Ġcalendar . time In Millis Ċ }