package Ġcom . al bert k hang . vi et nam date converter . utils Ċ Ċ import Ġjava . util .* Ċ Ċ class ĠSol ar Date Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġ_ day : ĠInt Ġ= Ġ 2 8 ĊĠĠĠ Ġvar Ġday : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ day ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ day Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Ng Ãły Ġph áº£i Ġt á»« Ġ 1 Ġtr á»Ł Ġl Ãªn ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ month : ĠInt Ġ= Ġ 2 ĊĠĠĠ Ġvar Ġmonth : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ month ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ month Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Th Ã¡ ng Ġph áº£i Ġt á»« Ġ 1 Ġtr á»Ł Ġl Ãªn ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ year : ĠInt Ġ= Ġ 1 9 9 9 ĊĠĠĠ Ġvar Ġyear : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ year ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ year Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" N Äĥ m Ġph áº£i Ġt á»« Ġ 1 8 0 0 Ġtr á»Ł Ġl Ãªn ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ jd : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġinternal Ġvar Ġjd : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ_ jd ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ jd Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġday Ġ= Ġ 2 8 ĊĠĠĠĠĠĠĠ Ġmonth Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġyear Ġ= Ġ 1 9 9 9 ĊĠĠĠĠĠĠĠ Ġjd Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ day Ġ= ĠCalendar . getInstance (). get ( Calendar . DATE ) ĊĠĠĠĠĠĠĠ Ġ_ month Ġ= ĠCalendar . getInstance (). get ( Calendar . MONTH ) Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġ_ year Ġ= ĠCalendar . getInstance (). get ( Calendar . YEAR ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( day : ĠInt , Ġmonth : ĠInt , Ġyear : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ day Ġ= Ġday ĊĠĠĠĠĠĠĠ Ġ_ month Ġ= Ġmonth ĊĠĠĠĠĠĠĠ Ġ_ year Ġ= Ġyear ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġconstructor ( day : ĠInt , Ġmonth : ĠInt , Ġyear : ĠInt , Ġjd : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ day Ġ= Ġday ĊĠĠĠĠĠĠĠ Ġ_ month Ġ= Ġmonth ĊĠĠĠĠĠĠĠ Ġ_ year Ġ= Ġyear ĊĠĠĠĠĠĠĠ Ġ_ jd Ġ= Ġjd ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Sol ar Date [ day =$ day , Ġmonth =$ month , Ġyear =$ year , Ġ_ jd : Ġ$_ jd ]" ĊĠĠĠ Ġ} Ċ }