-
- /**
- * 수업: 양력~음력 수업
- * 편집: bbs.it-home.org
- * /
- 클래스 달력{
- var $everyCMonth=array(
- 0=>array(8,0,0,0,0,0,0,0,0,0,0 , 0,29,30,7,1),
- 1=>배열(0,29,30,29,29,30,29,30,29,30,30,30,29,0,8 , 2),
- 2=>배열(0,30,29,30,29,29,30,29,30,29,30,30,30,0,9,3),
- 3 = >배열(5,29,30,29,30,29,29,30,29,29,30,30,29,30,10,4),
- 4=>배열(0,30 , 30,29,30,29,29,30,29,29,30,30,29,0,1,5),
- 5=>배열(0,30,30,29,30,30 , 29,29,30,29,30,29,30,0,2,6),
- 6=>배열(4,29,30,30,29,30,29,30,29,30 , 29,30,29,30,3,7),
- 7=>배열(0,29,30,29,30,29,30,30,29,30,29,30,29,0 , 4,8),
- 8=>배열(0,30,29,29,30,30,29,30,29,30,30,29,30,0,5,9),
- 9=>배열(2,29,30,29,29,30,29,30,29,30,30,30,29,30,6,10),
- 10=>배열(0 , 29,30,29,29,30,29,30,29,30,30,30,29,0,7,11),
- 11=>배열(6,30,29,30,29 , 29,30,29,29,30,30,29,30,30,8,12),
- 12=>배열(0,30,29,30,29,29,30,29,29 , 30,30,29,30,0,9,1),
- 13=>배열(0,30,30,29,30,29,29,30,29,29,30,29,30 , 0,10,2),
- 14=>배열(5,30,30,29,30,29,30,29,30,29,30,29,29,30,1,3),
- 15=>배열(0,30,29,30,30,29,30,29,30,29,30,29,30,0,2,4),
- 16=>배열 ( 0,29,30,29,30,29,30,30,29,30,29,30,29,0,3,5),
- 17=>배열(2,30,29,29 , 30,29,30,30,29,30,30,29,30,29,4,6),
- 18=>배열(0,30,29,29,30,29,30,29 , 30,30,29,30,30,0,5,7),
- 19=>배열(7,29,30,29,29,30,29,29,30,30,29,30 , 30,30,6,8),
- 20=>배열(0,29,30,29,29,30,29,29,30,30,29,30,30,0,7,9 ) ,
- 21=>배열(0,30,29,30,29,29,30,29,29,30,29,30,30,0,8,10),
- 22=> ; 배열(5,30,29,30,30,29,29,30,29,29,30,29,30,30,9,11),
- 23=>배열(0,29,30 , 30,29,30,29,30,29,29,30,29,30,0,10,12),
- 24=>배열(0,29,30,30,29,30,30 , 29,30,29,30,29,29,0,1,1),
- 25=>배열(4,30,29,30,29,30,30,29,30,30,29 , 30,29,30,2,2),
- 26=>배열(0,29,29,30,29,30,29,30,30,29,30,30,29,0,3 , 3),
- 27=>배열(0,30,29,29,30,29,30,29,30,29,30,30,30,0,4,4),
- 28 = >배열(2,29,30,29,29,30,29,29,30,29,30,30,30,30,5,5),
- 29=>배열(0,29 , 30,29,29,30,29,29,30,29,30,30,30,0,6,6),
- 30=>배열(6,29,30,30,29,29 , 30,29,29,30,29,30,30,29,7,7),
- 31=>배열(0,30,30,29,30,29,30,29,29,30 , 29,30,29,0,8,8),
- 32=>배열(0,30,30,30,29,30,29,30,29,29,30,29,30,0 , 9,9),
- 33=>배열(5,29,30,30,29,30,30,29,30,29,30,29,29,30,10,10),
- 34=>배열(0,29,30,29,30,30,29,30,29,30,30,29,30,0,1,11),
- 35=>배열(0 , 29,29,30,29,30,29,30,30,29,30,30,29,0,2,12),
- 36=>배열(3,30,29,29,30 , 29,29,30,30,29,30,30,30,29,3,1),
- 37=>배열(0,30,29,29,30,29,29,30,29 , 30,30,30,29,0,4,2),
- 38=>배열(7,30,30,29,29,30,29,29,30,29,30,30,29 , 30,5,3),
- 39=>배열(0,30,30,29,29,30,29,29,30,29,30,29,30,0,6,4),
- 40=>배열(0,30,30,29,30,29,30,29,29,30,29,30,29,0,7,5),
- 41=>배열 ( 6,30,30,29,30,30,29,30,29,29,30,29,30,29,8,6),
- 42=>배열(0,30,29,30 , 30,29,30,29,30,29,30,29,30,0,9,7),
- 43=>배열(0,29,30,29,30,29,30,30 , 29,30,29,30,29,0,10,8),
- 44=>배열(4,30,29,30,29,30,29,30,29,30,30,29 , 30,30,1,9),
- 45=>배열(0,29,29,30,29,29,30,29,30,30,30,29,30,0,2,10 ) ,
- 46=>배열(0,30,29,29,30,29,29,30,29,30,30,29,30,0,3,11),
- 47=> ; 배열(2,30,30,29,29,30,29,29,30,29,30,29,30,30,4,12),
- 48=>배열(0,30,29 , 30,29,30,29,29,30,29,30,29,30,0,5,1),
- 49=>배열(7,30,29,30,30,29,30 , 29,29,30,29,30,29,30,6,2),
- 50=>배열(0,29,30,30,29,30,30,29,29,30,29 , 30,29,0,7,3),
- 51=>배열(0,30,29,30,30,29,30,29,30,29,30,29,30,0,8 , 4),
- 52=>배열(5,29,30,29,30,29,30,29,30,30,29,30,29,30,9,5),
- 53 = >배열(0,29,30,29,29,30,30,29,30,30,29,30,29,0,10,6),
- 54=>배열(0,30 , 29,30,29,29,30,29,30,30,29,30,30,0,1,7),
- 55=>배열(3,29,30,29,30,29 , 29,30,29,30,29,30,30,30,2,8),
- 56=>배열(0,29,30,29,30,29,29,30,29,30 , 29,30,30,0,3,9),
- 57=>배열(8,30,29,30,29,30,29,29,30,29,30,29,30,29 , 4,10),
- 58=>배열(0,30,30,30,29,30,29,29,30,29,30,29,30,0,5,11),
- 59=>배열(0,29,30,30,29,30,29,30,29,30,29,30,29,0,6,12),
- 60=>배열(6 , 30,29,30,29,30,30,29,30,29,30,29,30,29,7,1),
- 61=>배열(0,30,29,30,29,30,29,30,30,29,30,29,30,0,8,2),
- 62=>배열(0, 29,30,29,29,30,29,30,30,29,30,30,29,0,9,3),
- 63=>배열(4,30,29,30,29, 29,30,29,30,29,30,30,30,29,10,4),
- 64=>배열(0,30,29,30,29,29,30,29,30, 29,30,30,30,0,1,5),
- 65=>배열(0,29,30,29,30,29,29,30,29,29,30,30,29, 0,2,6),
- 66=>배열(3,30,30,30,29,30,29,29,30,29,29,30,30,29,3,7),
- 67=>배열(0,30,30,29,30,30,29,29,30,29,30,29,30,0,4,8),
- 68=>배열( 7,29,30,29,30,30,29,30,29,30,29,30,29,30,5,9),
- 69=>배열(0,29,30,29, 30,29,30,30,29,30,29,30,29,0,6,10),
- 70=>배열(0,30,29,29,30,29,30,30, 29,30,30,29,30,0,7,11),
- 71=>배열(5,29,30,29,29,30,29,30,29,30,30,30, 29,30,8,12),
- 72=>배열(0,29,30,29,29,30,29,30,29,30,30,29,30,0,9,1) ,
- 73=>배열(0,30,29,30,29,29,30,29,29,30,30,29,30,0,10,2),
- 74=> 배열(4,30,30,29,30,29,29,30,29,29,30,30,29,30,1,3),
- 75=>배열(0,30,30, 29,30,29,29,30,29,29,30,29,30,0,2,4),
- 76=>배열(8,30,30,29,30,29,30, 29,30,29,29,30,29,30,3,5),
- 77=>배열(0,30,29,30,30,29,30,29,30,29,30, 29,29,0,4,6),
- 78=>배열(0,30,29,30,30,29,30,30,29,30,29,30,29,0,5, 7),
- 79=>배열(6,30,29,29,30,29,30,30,29,30,30,29,30,29,6,8),
- 80= >배열(0,30,29,29,30,29,30,29,30,30,29,30,30,0,7,9),
- 81=>배열(0,29, 30,29,29,30,29,29,30,30,29,30,30,0,8,10),
- 82=>배열(4,30,29,30,29,29, 30,29,29,30,29,30,30,30,9,11),
- 83=>배열(0,30,29,30,29,29,30,29,29,30, 29,30,30,0,10,12),
- 84=>배열(10,30,29,30,30,29,29,30,29,29,30,29,30,30, 1,1),
- 85=>배열(0,29,30,30,29,30,29,30,29,29,30,29,30,0,2,2),
- 86=>배열(0,29,30,30,29,30,30,29,30,29,30,29,29,0,3,3),
- 87=>배열(6, 30,29,30,29,30,30,29,30,30,29,30,29,29,4,4),
- 88=>배열(0,30,29,30,29, 30,29,30,30,29,30,30,29,0,5,5),
- 89=>배열(0,30,29,29,30,29,29,30,30, 29,30,30,30,0,6,6),
- 90=>배열(5,29,30,29,29,30,29,29,30,29,30,30,30, 30,7,7),
- 91=>배열(0,29,30,29,29,30,29,29,30,29,30,30,30,0,8,8),
- 92=>배열(0,29,30,30,29,29,30,29,29,30,29,30,30,0,9,9),
- 93=>배열( 3,29,30,30,29,30,29,30,29,29,30,29,30,29,10,10),
- 94=>배열(0,30,30,30, 29,30,29,30,29,29,30,29,30,0,1,11),
- 95=>배열(8,29,30,30,29,30,29,30, 30,29,29,30,29,30,2,12),
- 96=>배열(0,29,30,29,30,30,29,30,29,30,30,29, 29,0,3,1),
- 97=>배열(0,30,29,30,29,30,29,30,30,29,30,30,29,0,4,2) ,
- 98=>배열(5,30,29,29,30,29,29,30,30,29,30,30,29,30,5,3),
- 99=> 배열(0,30,29,29,30,29,29,30,29,30,30,30,29,0,6,4),
- 100=>배열(0,30,30, 29,29,30,29,29,30,29,30,30,29,0,7,5),
- 101=>배열(4,30,30,29,30,29,30, 29,29,30,29,30,29,30,8,6),
- 102=>배열(0,30,30,29,30,29,30,29,29,30,29, 30,29,0,9,7),
- 103=>배열(0,30,30,29,30,30,29,30,29,29,30,29,30,0,10, 8),
- 104=>배열(2,29,30,29,30,30,29,30,29,30,29,30,29,30,1,9),
- 105= >배열(0,29,30,29,30,29,30,30,29,30,29,30,29,0,2,10),
- 106=>배열(7,30, 29,30,29,30,29,30,29,30,30,29,30,30,3,11),
- 107=>배열(0,29,29,30,29,29, 30,29,30,30,30,29,30,0,4,12),
- 108=>배열(0,30,29,29,30,29,29,30,29,30, 30,29,30,0,5,1),
- 109=>배열(5,30,30,29,29,30,29,29,30,29,30,29,30,30, 6,2),
- 110=>배열(0,30,29,30,29,30,29,29,30,29,30,29,30,0,7,3),
- 111=>배열(0,30,29,30,30,29,30,29,29,30,29,30,29,0,8,4),
- 112=>배열(4, 30,29,30,30,29,30,29,30,29,30,29,30,29,9,5),
- 113=>배열(0,30,29,30,29, 30,30,29,30,29,30,29,30,0,10,6),
- 114=>배열(9,29,30,29,30,29,30,29,30, 30,29,30,29,30,1,7),
- 115=>배열(0,29,30,29,29,30,29,30,30,30,29,30,29, 0,2,8),
- 116=>배열(0,30,29,30,29,29,30,29,30,30,29,30,30,0,3,9),
- 117=>배열(6,29,30,29,30,29,29,30,29,30,29,30,30,30,4,10),
- 118=>배열( 0,29,30,29,30,29,29,30,29,30,29,30,30,0,5,11),
- 119=>배열(0,30,29,30, 29,30,29,29,30,29,29,30,30,0,6,12),
- 120=>배열(4,29,30,30,30,29,30,29, 29,30,29,30,29,30,7,1)
- );
- ##----------
- #农历天干
- var $mten=array("null","甲","乙","丙","丁", "戊","己","庚","辛","壬","癸"); #农历地支
- var $mtwelve=array("null","子(쥐)","Chou(ox)","Yin(호랑이)","卯(토끼)","Chen(용)","巳(SNAKE) ","우(말)","웨이(양)","쉔(원숭이)","너(닭)","쑤(개)","하이(돼지)"); #음력
- var $mmonth=array("금","정","이","삼","사","오","六","七","八","九","十" ,"11일","12일","월")
- var $mday=array("null","중학교 첫날","중학교 둘째 날","중학교 셋째 날 고등학교","중학교 넷째 날"," "음력 5월 5일", "음력 6일", "음력 7일", "음력 8일", "구월", "십일", "십일", "십이", "십삼", "십사", "십오", "십육", "십칠", "십팔" ", "열아홉", "스물", "스물하나", "스물둘", "스물셋", "스물넷", "스물다섯", "스물여섯", "스물일곱" ", "스물여덟", "스물아홉", "서른");#lunarday
- ##------------
- #초기값 지정
- #천간 및 Earthly Branches
- var $ten = 0; var $twelve = 0
- function MyPub($cYear, $cMonth, $cDay){
- $total = 11; 양력에서 1900년 12월 21일까지
- $mtotal = 0; #음력의 총 일수
- for ($y = 1901; $y < $cYear; $y ){
- $total = 365;
- if ($y % 4 == 0){
- $total ;
- }
- }
- #연간 월 추가
- 스위치($cMonth ){
- 사례 12:
- $total = 30;
- 사례 11:
- $total = 31
- 사례 10:
- $total = 30;
- $total = 31;
- 사례 8:
- $total = 31;
- 사례 7:
- $total = 30;
- 사례 6:
- $total = 31;
- 사례 5:
- $total = 30;
- 사례 4:
- $total = 31
- 사례 3:
- $total = 28; > $total = 31;
- }
- #현재 연도가 윤년이면 1일을 추가합니다.
- if ($cYear % 4 == 0 and $cMonth > 2){
- $ total ;
- }
- $total = $cDay - 1
- ##----------------
- #다음의 누적 일수를 사용합니다. 양력의 일수를 초과하는지 확인하는 음력
- for ($j = 0; $j <= 120; $j ){
- $i = 1; i = 1; $i <= 13; $i ){
- $mtotal = $this->everyCMonth[$j][$i]
- if ($mtotal >= $total)
- $flag = 1;
- 중단;
- }
- }
- if ($flag == 1){
- 중단
- }
- 반환 array("m" => $j, "d" => $i, "t" => $total, "n" => $mtotal)
- }
- function Cal($ 연도, $월, $일){
- $Par = $ this->MyPub($연도, $월, $Day)
- $md = $this->everyCMonth[$Par["m "]][$Par["d"]] - ($Par ["n"] - $Par["t"]);
- $week = ($Par["t"] 5) % 7;
- if ($this->everyCMonth[$Par[" m"]][0] <> 0 및 $this->everyCMonth[$Par["m"]][0] < $ Par["d"]){
- $mm = $Par ["d"] - 1
- }else{
- $mm = $Par["d"]
- }
- if ($Par["d"] == $this-> ;everyCMonth[$Par["d"]][0] 1 및 $this->everyCMonth[$Par["d"]][0] <> 0){
- $cMonth = $this- >mmonth[0].$this->mmonth[$mm] #윤달
- }
- else{
- $ cMonth = $this->mmonth[$mm].$this-> ;mmonth[13]
- }
- return array("연도" => $this->mten[$this-> ;everyCMonth[$Par["m"]][14]].$ this->mtwelve[$this->everyCMonth[$Par["m"]][15]], "월" => c월, "일" => $this->mday[$md ], "주" => $week)
- }
- }
-
- //호출 예시
- $test = 새 달력;
- $test-> Cal(2004, 2, 20)
- echo $Year["year"]."year".$Year["month"]. $Year["day"]."week".$Year["week "];
- ?>
-
-
- 코드 복사
-
-
-
|