oops-Lunar
[ class tree: oops-Lunar ] [ index: oops-Lunar ] [ all elements ]

Class: Lunar_API

Source Location: /Lunar/Lunar/Lunar_API.php

Class Overview


Lunar Core API


Author(s):

Copyright:

  • (c) 2024, OOPS.org

Variables

Methods


Child classes:

Lunar
양력/음력 변환 클래스

Class Details

[line 65]
Lunar Core API

이 패키지는 양력/음력간의 변환을 제공하는 API로, 고영창님의 '진짜만세력' 0.92(Perl version)와 0.93(Pascal version)버전을 PHP로 포팅한 것이다.

이 변환 API의 유효기간은 다음과 같다.

   * 32bit
     + -2087-02-09(음력 -2087-01-01) ~ 6078-01-29(음 6077-12-29)
     + -2087-07-05(음력 -2087-05-29) 이전은 계산이 무지 느려짐..

   * 64bit
     + -4712-02-08 ~ 9999-12-31
     + -9999-01-01 ~ 9999-12-31
     + 64bit 계산이 가능한 시점까지 가능할 듯..




Tags:

author:  JoungKyun.Kim <http://oops.org>
copyright:  (c) 2024, OOPS.org
license:  고영창


[ Top ]


Class Variables

$ddi = array ('쥐', '소', '호랑이', '토끼', '용', '뱀', '말', '양', '원숭이', '닭', '개', '돼지')

[line 104]

띠 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$gan = array ('갑', '을', '병', '정', '무', '기', '경', '신', '임', '계')

[line 84]

십간(十干) 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$ganji = array (
      '갑자', '을축', '병인', '정묘', '무진', '기사', '경오', '신미', '임신', '계유', '갑술', '을해',
      '병자', '정축', '무인', '기묘', '경진', '신사', '임오', '계미', '갑신', '을유', '병술', '정해',
      '무자', '기축', '경인', '신묘', '임진', '계사', '갑오', '을미', '병신', '정유', '무술', '기해',
      '경자', '신축', '임인', '계묘', '갑진', '을사', '병오', '정미', '무신', '기유', '경술', '신해',
      '임자', '계축', '갑인', '을묘', '병진', '정사', '무오', '기미', '경신', '신유', '임술', '계해'
   )

[line 201]

60간지 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$hgan = array ('甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸')

[line 89]

십간(十干) 한자 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$hganji = array (
      '甲子','乙丑','丙寅','丁卯','戊辰','己巳','庚午','辛未','壬申','癸酉','甲戌','乙亥',
      '丙子','丁丑','戊寅','己卯','庚辰','辛巳','壬午','癸未','甲申','乙酉','丙戌','丁亥',
      '戊子','己丑','庚寅','辛卯','壬辰','癸巳','甲午','乙未','丙申','丁酉','戊戌','己亥',
      '庚子','辛丑','壬寅','癸卯','甲辰','乙巳','丙午','丁未','戊申','己酉','庚戌','辛亥',
      '壬子','癸丑','甲寅','乙卯','丙辰','丁巳','戊午','己未','庚申','辛酉','壬戌','癸亥'
   )

[line 212]

60간지 한자 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$hji = array ('子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥')

[line 99]

십이지(十二支) 한자 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$hmonth_st = array (
      '立春', '雨水', '驚蟄', '春分', '淸明', '穀雨',
      '立夏', '小滿', '芒種', '夏至', '小暑', '大暑',
      '立秋', '處暑', '白露', '秋分', '寒露', '霜降',
      '立冬', '小雪', '大雪', '冬至', '小寒', '大寒',
      '立春'
   )

[line 189]

절기(한자) 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$hweek = array ('日','月','火','水','木','金','土')

[line 229]

요일 한자 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$ji = array ('자', '축', '인', '묘', '진', '사', '오', '미', '신', '유', '술', '해')

[line 94]

십이지(十二支) 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$month = array (
      0, 21355, 42843, 64498, 86335, 108366, 130578, 152958,
      175471, 198077, 220728, 243370, 265955, 288432, 310767,
      332928, 354903, 376685, 398290, 419736, 441060, 462295,
      483493, 504693, 525949
   )

[line 73]



Tags:

access:  protected

Type:   array


[ Top ]

$month_st = array (
      '입춘', '우수', '경칩', '춘분', '청명', '곡우',
      '입하', '소만', '망종', '하지', '소서', '대서',
      '입추', '처서', '백로', '추분', '한로', '상강',
      '입동', '소설', '대설', '동지', '소한', '대한',
      '입춘'
   )

[line 177]

절기 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$moonlength =  42524

[line 164]

정월 초하루 합삭 시간



Tags:

access:  protected

Type:   integer


[ Top ]

$s28days = array (
      '角','亢','氐','房','心','尾','箕',
      '斗','牛','女','虛','危','室','壁',
      '奎','婁','胃','昴','畢','觜','參',
      '井','鬼','柳','星','張','翼','軫'
   )

[line 234]

28일 데이터



Tags:

access:  protected

Type:   array


[ Top ]

$s28days_hangul = array (
      '각', '항', '저', '방', '심', '미', '기',
      '두', '우', '녀', '허', '위', '실', '벽',
      '규', '수', '위', '묘', '필', '자', '삼',
      '정', '귀', '류', '성', '장', '익', '진'
   )

[line 240]



Tags:

access:  protected

Type:   mixed


[ Top ]

$udgan =  7

[line 140]

신미일 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$udji =  7

[line 141]

신미일 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$udsu =  7

[line 142]

신미일 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$uhgan =  5

[line 149]

기해시 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$uhji =  11

[line 150]

기해시 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$uhsu =  35

[line 151]

기해시 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$umgan =  6

[line 131]

경인년 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$umji =  2

[line 132]

경인년 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$umsu =  26

[line 133]

경인년 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$unitday =  4

[line 112]

병자년 경인월 신미일 기해시 입춘 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$unithour =  22

[line 113]

병자년 경인월 신미일 기해시 입춘 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$unitmday =  19

[line 160]

정월 초하루 합삭 시간



Tags:

access:  protected

Type:   integer


[ Top ]

$unitmhour =  8

[line 161]

정월 초하루 합삭 시간



Tags:

access:  protected

Type:   integer


[ Top ]

$unitmin =  8

[line 114]

병자년 경인월 신미일 기해시 입춘 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$unitmmin =  30

[line 162]

정월 초하루 합삭 시간



Tags:

access:  protected

Type:   integer


[ Top ]

$unitmmonth =  2

[line 159]

정월 초하루 합삭 시간



Tags:

access:  protected

Type:   integer


[ Top ]

$unitmonth =  2

[line 111]

병자년 경인월 신미일 기해시 입춘 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$unitmsec =  0

[line 163]

정월 초하루 합삭 시간



Tags:

access:  protected

Type:   integer


[ Top ]

$unitmyear =  1996

[line 158]

정월 초하루 합삭 시간



Tags:

access:  protected

Type:   integer


[ Top ]

$unitsec =  0

[line 115]

병자년 경인월 신미일 기해시 입춘 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$unityear =  1996

[line 110]

병자년 경인월 신미일 기해시 입춘 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$uygan =  2

[line 122]

병자년 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$uyji =  0

[line 123]

병자년 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$uysu =  12

[line 124]

병자년 데이터



Tags:

access:  protected

Type:   integer


[ Top ]

$week = array ('일','월','화','수','목','금','토')

[line 224]

요일 데이터



Tags:

access:  protected

Type:   array


[ Top ]



Class Methods


method degreelow [line 763]

int degreelow( int $d)

미지의 각도를 0~360도 이내로 만듬



Tags:

access:  protected


Parameters:

int   $d  

[ Top ]

method disp2days [line 308]

int disp2days( int $y1, int $m1, int $d1, int $y2, int $m2, int $d2)

y1,m1,d1일부터 y2,m2,d2까지의 일수 계산



Tags:

return:  날자수
access:  protected


Parameters:

int   $y1   from year
int   $m1   from month
int   $d1   from day
int   $y2   until year
int   $m2   until month
int   $d2   until day

[ Top ]

method disptimeday [line 273]

int disptimeday( int $year, int $month, int $day)

year의 1월 1일부터 해당 일자까지의 날자수



Tags:

return:  날자수
access:  protected


Parameters:

int   $year  
int   $month  
int   $day  

[ Top ]

method div [line 258]

int div( int $a, int $b)

정수 몫을 반환



Tags:

access:  protected


Parameters:

int   $a  
int   $b  

[ Top ]

method get28sday [line 1202]

int get28sday( int $syear, int $smonth, int $sday)

그레고리력의 날자에 대한 28수를 구함



Tags:

access:  protected


Parameters:

int   $syear  
int   $smonth  
int   $sday  

[ Top ]

method getdatebymin [line 460]

array getdatebymin( int $tmin, int $uyear, int $umonth, int $uday, int $uhour, int $umin)

uyear,umonth,uday,uhour,umin으로부터 tmin(분)떨이진 시점의 년월일시분(태양력) 구하는 프로시져



Tags:

access:  protected


Parameters:

int   $tmin  
int   $uyear  
int   $umonth  
int   $uday  
int   $uhour  
int   $umin  

[ Top ]

method getlunarfirst [line 848]

array getlunarfirst( int $syear, int $smonth, int $sday)

그레고리력 년월일이 들어있는 태음월의 시작합삭일지, 망일시, 끝합삭일시를 구함



Tags:

return:  
   Array
   (
       [0] => 2013    // 시작 합삭 년도
       [1] => 7       // 시작 합삭 월
       [2] => 8       // 시작 합삭 일
       [3] => 16      // 시작 합삭 시
       [4] => 15      // 시작 합삭 분
       [5] => 2013    // 망 연도
       [6] => 7       // 망 월
       [7] => 23      // 망 일
       [8] => 2       // 망 시
       [9] => 59      // 망 분
       [10] => 2013   // 끝 합삭 년도
       [11] => 8      // 끝 합삭 월
       [12] => 7      // 끝 합삭 일
       [13] => 6      // 끝 합삭 시
       [14] => 50     // 끝 합삭 분
   )
access:  protected


Parameters:

int   $syear  
int   $smonth  
int   $sday  

[ Top ]

method getminbytime [line 436]

int getminbytime( int $uy, int $umm, int $ud, int $uh, int $umin, int $y1, int $mo1, int $d1, int $h1, int $mm1)

uy,umm,ud,uh,umin과 y1,mo1,d1,h1,mm1사이의 시간(분)



Tags:

return:  
access:  protected


Parameters:

int   $uy  
int   $umm  
int   $ud  
int   $uh  
int   $umin  
int   $y1  
int   $mo1  
int   $d1  
int   $h1  
int   $mm1  

[ Top ]

method getweekday [line 1169]

int getweekday( int $syear, int $smonth, int $sday)

그레고리력 날자를 요일의 배열 번호로 변환



Tags:

access:  protected


Parameters:

int   $syear  
int   $smonth  
int   $sday  

[ Top ]

method lunartosolar [line 1109]

array lunartosolar( int $lyear, int $lmonth, int $lday, [bool $leap = false])

음력 날자를 양력 날자로 변환



Tags:

return:  
   Array
   (
       [0] => 2013   // 양력 연도
       [1] => 6      // 양력 월
       [2] => 9      // 양력 일
   )
access:  protected


Parameters:

int   $lyear  
int   $lmonth  
int   $lday  
bool   $leap   음력 윤달 여부

[ Top ]

method moonsundegree [line 787]

int moonsundegree( int $day)

태양황력과 달황경의 차이 (1996 기준)



Tags:

access:  protected


Parameters:

int   $day  

[ Top ]

method solartolunar [line 993]

array solartolunar( int $solyear, int $solmon, int $solday)

양력 날자를 음력 날자로 변환



Tags:

return:  
   Array
   (
       [0] => 2013   // 음력 연도
       [1] => 6      // 음력 월
       [2] => 9      // 음력 일
       [3] =>        // 음력 윤달 여부 (boolean)
       [4] => 1      // 평달(false)/큰달(true) 여부 (boolean)
   )
access:  protected


Parameters:

int   $solyear  
int   $solmon  
int   $solday  

[ Top ]

method solortoso24 [line 687]

array solortoso24( int $soloryear, int $solormonth, int $solorday, int $solorhour, int $solormin)

절기 시간 구하기

그레고리력의 년월일시분이 들어있는 절기의 이름번호, 년월일시분을 얻음




Tags:

access:  protected


Parameters:

int   $soloryear  
int   $solormonth  
int   $solorday  
int   $solorhour  
int   $solormin  

[ Top ]

method sydtoso24yd [line 553]

array sydtoso24yd( int $soloryear, int $solormonth, int $solorday, int $solorhour, int $solormin)

그레고리력의 년월시일분으로 60년의 배수, 세차, 월건(태양력), 일진, 시주를 구함



Tags:

return:  
   Array
   (
       [0] => -17  // 60년의 배수
       [1] => 29   // 60간지의 연도 배열 index
       [2] => 55   // 60간지의 월 배열 index
       [3] => 11   // 60간지의 일 배열 index
       [4] => 20   // 60간지의 시 배열 index
   )
access:  protected


Parameters:

int   $soloryear  
int   $solormonth  
int   $solorday  
int   $solorhour  
int   $solormin  

[ Top ]


Documentation generated on Fri, 30 Aug 2024 06:10:52 +0900 by phpDocumentor 1.4.4