Á¦°¡ ½ÇÁ¦ ·±ÄªÇÑ ¾îÇà ¼Ò½ºµéÀ» Â÷·Ê·Î ÇϳªÇϳª ¿ÀǼҽº·Î °ø°³¸¦ Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù.
ÁÖ±â´Â Á¤ÇÏÁø ¾Ê¾ÒÁö¸¸ È®½ÇÇÑ°Ç ÀÛ¼ºÇß´ø ¸ðµç ¼Ò½º¸¦ ¿ÀÇÂÇÒ ¿¹Á¤ÀÔ´Ï´Ù.
¿À´ÃÀÇ ¿ÀǼҽº´Â À½·Â->¾ç·Â, ¾ç·Â->À½·Â ¾Ë°í¸®ÁòÀÔ´Ï´Ù.
/////////////////////////////////////////////////
/**Âü°í·Î ÀÌ°÷¿¡¼ »ç¿ëÇÏ´Â °ÍÀº ICU4J ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÑ ¹æ½ÄÀÔ´Ï´Ù.*/
class MoonCalen
{
static Calendar moonCalend;
static ChineseCalendar Cc;
static int Q_day;
static int Yearitems;
static int Monthitems;
static int Dayitems;
static ArrayList<Integer> T_day;
static int T_month;
static int T_year;
static int cDay;
static int cMonth;
static int cYear;
static long MillTimes; //TODO: ¾ç->À½
static long CMillTimes; //TODO: À½->¾ç
//TODO : start = mStart_Pos, last = mlast_pos, today = select of Day;
mStart_pos´Â ÇØ´ç ´ÞÀÌ ½ÃÀÛÇÏ´Â ¿äÀÏÀÇ À§Ä¡ÀÌ°í, mlast_pos´Â ³¡³ª´Â ³¯ÀÇ ¸¶Áö¸· ¿äÀÏÀÔ´Ï´Ù.
¹è¿ÀÌ 0~42±îÁö ÀÖÀ»¶§, 10¿ùÀÇ °æ¿ì Åä¿äÀÏÀÌ 1ÀÏÀ̹ǷΠmStart_Pos°ªÀº 6À» °®½À´Ï´Ù.
mlast_Pos´Â ±×´ÞÀÇ ¸¶Áö¸·³¯À̹ǷΠ31À» °®°Ô µË´Ï´Ù.
public static void setMoonCalen(int start, int last,int today)
{
//TODO: ÇØ´ç´ÞÀÇ ¸ðµç ÀÏÀ» ¹Þ±â À§ÇØ »ç¿ëÇÕ´Ï´Ù.
T_day = new ArrayList<Integer>();
for(int a = start; a<start+last; a++)
{
T_day.add(Integer.parseInt(sCalend.items.get(a)));
}
T_month= sCalend.mMonth-1;
T_year = sCalend.mYear;
moonCalend = Calendar.getInstance();
Cc = new ChineseCalendar();
//TODO: À½·ÂÀ» ¼ÂÆÃÇϱâÀ§ÇØ ´Þ·ÂÀ» ¿À´Ã³¯Â¥·Î ¸ÂÃçµÎ°í ±×°ÍÀÇ ¹Ð¸®¼¼ÄÁµå°ªÀ» ¾ò°í,
´Ù½Ã ±×°ÍÀ» Â÷ÀÌ´ÏÁî Ä®¸°´õ¿¡ ³Ö¾îÁÝ´Ï´Ù.//
moonCalend.set(Calendar.YEAR, T_year);
moonCalend.set(Calendar.MONTH, T_month);
moonCalend.set(Calendar.DAY_OF_MONTH, T_day.get(today));
MillTimes = moonCalend.getTimeInMillis();
Cc.setTimeInMillis(MillTimes);
//TODO: ÀÌÈÄ ¾ò¾îÁø °ªµéÀº ¾Æ·¡°ª°ú °°Àº ¿ÀÂ÷°¡ ÀÖÀ¸´Ï 2637³âÀ» »©ÁÖ°í, 1´ÞÀ» ´õÇØÁÝ´Ï´Ù.
Yearitems = Cc.get(ChineseCalendar.EXTENDED_YEAR) -2637;
Monthitems = Cc.get(ChineseCalendar.MONTH)+1;
Dayitems = Cc.get(ChineseCalendar.DAY_OF_MONTH);
//TODO: ¾ò¾îÁø°ªµéÀ» 1´Þ¾¿ ´õÇϰԵǸé, À±´ÞÀÏ °æ¿ì , 1´Þ¾¿ +µÇ¾î À߸øµÈ À½·ÂÀÌ Ãâ·ÂµÇ¹Ç·Î,
À̺κÐÀ» ó¸®ÇØÁÝ´Ï´Ù.
2030³â±îÁö È®ÀÎÇغ»°á°ú µü 3¿ùÀ±´Þ¿¡¼¸¸ ¹®Á¦°¡ ¹ß»ýÇÏ¿´À¸¹Ç·Î, À̺κи¸ ¾Æ·¡¿Í°°ÀÌ Ã³¸®
ÇØÁÖ½Ã¸é µË´Ï´Ù.//
if(T_year ==2012)
{
if(T_month ==3 && T_day.get(today)>20)
{
Monthitems-=1;
}
if(T_month==4 &&T_day.get(today)<21)
{
Monthitems-=1;
}
}
}
//TODO: À̺κÐÀº À½·ÂÀ» ¾ç·ÂÀ¸·Î ¹Ù²ãÁÝ´Ï´Ù.
public static void ChangedMoonCalend(int year, int month, int day)
{
//TODO : À§¿¡¼ À½·ÂÀ» ¾ò¾ú´ø¹æ½Ä°ú ¹Ý´ë·Î ÇØÁÝ´Ï´Ù.
´Ü, ÀÌ°æ¿ì¿¡´Â ¾ç·Â°ú À½·ÂÀÌ 1ÀÏÀÌ Â÷À̳ª´Â µ¥, À̶§¹®¿¡ 1ÀÏÀ» ´õÇØÁÝ´Ï´Ù.
Cc.set(ChineseCalendar.YEAR, year+2637);
Cc.set(ChineseCalendar.MONTH, month+1);
Cc.set(ChineseCalendar.DAY_OF_MONTH, day+1);
CMillTimes= Cc.getTimeInMillis();
moonCalend.setTimeInMillis(CMillTimes);
cYear = moonCalend.get(Calendar.YEAR);
cMonth = moonCalend.get(Calendar.MONTH);
cDay = moonCalend.get(Calendar.DAY_OF_MONTH);
}
}
»ç½Ç ã¾Æº¸¸é À̺¸´Ù ´õ ÁÁÀº ¾Ë°í¸®ÁòµéÀÌ ÀÖ½À´Ï´Ù.
¼Óµµµµ ºü¸£°í ¾ÈÁ¤¼ºµµ ÀÖÁÒ.
°¡Àå ÁÁÀº¹æ¹ýÀº ±¸±Û Ä̸°´õ¿Í ¿¬µ¿Çؼ À½·ÂÀ» ¹Þ¾Æ¿À´øÁö ÇÏ´Â ¹æ¹ýÀÌ ÀÖÁö¸¸,
¿ÀÇÁ¶óÀλóÅ¿¡¼´Â À½·Â ÀÚü¸¦ ó¸®ÇϱⰡ Èûµé¾î ´ëºÎºÐÀÇ ½ºÄÉÁì·¯¿¡¼´Â ³»ºÎÀûÀ¸·Î
À½·ÂÀ» ó¸®ÇÏ°Ô µË´Ï´Ù.
À̰͸»°í ´õ Á¤È®ÇÏ°Ô ÇÏ´Â ¹æ½ÄÀº Á÷Á¢ À½·ÂÀ» ¾²½Ã´ø°¡, ¾Æ´Ï¸é Çѱ¹Ãµ¹®ÇÐÇùȸ¿¡¼ Á¦°øÇÏ´Â
À¯·á À½·Â ¾Ë°í¸®Áò°ú µ¥ÀÌÅͺ£À̽ºµ¥ÀÌÅ͸¦ ÀÌ¿ëÇؼ ÀÛ¼ºÇÏ´Â ¹æ½Ä,
Á¶¸£Å׸¦ µðÄÄÆÄÀÏÇؼ ¾ò´Â ¹æ½ÄµîÀÌ Àְڳ׿ä.
* ±ÛÀ» µî·ÏÇϽǶ§ ²À ÇÊ¿äÇÑ °æ¿ì°¡ ¾Æ´Ï¸é °³ÀÎÁ¤º¸¸¦ ³²±âÁö ¸¶¼¼¿ä ^^ (¿¬¶ôó,À̸ÞÀÏÁÖ¼Ò,Áֹεî·Ï¹øÈ£ µî)