Skip to content

OOPS-ORG-PHP/Lunar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

84 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Lunar Calendar PHP pear package

License

Lunar Pear class์˜ ๋ผ์ด์„ผ์Šค๋Š” ๋ณตํ•ฉ ๋ผ์ด์„ผ์Šค ์ด๋ฏ€๋กœ, ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

  • Lunar.php : BSD
  • ์ง„์งœ ๋งŒ์„ธ๋ ฅ ํฌํŒ… class :
    • Lunar/Lunar_API.php
    • ๊ณ ์˜์ฐฝ
  • ์ง„์งœ ๋งŒ์„ธ๋ ฅ์ด open source ์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ์ •ํ™•ํ•œ license๊ฐ€ ํ‘œ๊ธฐ๋˜์–ด ์žˆ์ง€์•Š๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ, ํ™ˆํŽ˜์ด์ง€ ๊ฐ™์€ ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์—๋Š” ํฌ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ์—†์œผ๋‚˜, ์ƒ์šฉ ํŒจํ‚ค์ง€ ์ œํ’ˆ์— ํฌํ•จ์„ ์‹œํ‚ค๋Š” ๊ฒƒ์€ ์ฃผ์˜ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ด ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•จ์— ์žˆ์–ด ์•„๋ฌด๋Ÿฐ ๊ฐœ๋Ÿฐํ‹ฐ๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

Description

Lunar Pear package๋Š” ๊ณ ์˜์ฐฝ๋‹˜์˜ ์ง„์งœ๋งŒ์„ธ๋ ฅ 0.92 Perl ๋ฒ„์ „์„ PHP๋กœ ํฌํŒ…ํ•œ ๊ฒƒ์ด๋‹ค.

๊ณ ์˜์ฐฝ๋‹˜์˜ ์ง„์งœ๋งŒ์„ธ๋ ฅ์€ ์ ˆ๊ธฐ์‹œ๊ฐ„๊ณผ ํ•ฉ์‚ญ์‹œ๊ฐ„์„ ์ •๋ฐ€ํ•˜๊ฒŒ ๊ณ„์‚ฐํ•˜์—ฌ ๋งŒ๋“  ๋งŒ์„ธ๋ ฅ์ž…๋‹ˆ๋‹ค. (DB๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.) ์œ ํšจ๊ธฐ๊ฐ„์€ -10000๋…„๋ถ€ํ„ฐ 10000๋…„๊นŒ์ง€์˜ ๊ธฐ๊ฐ„์ž…๋‹ˆ๋‹ค.

๋‹ฌ๋ ฅ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์ฃผ์˜ ์‚ฌํ•ญ

  1. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ทธ๋ ˆ๊ณ ๋ฆฌ๋ ฅ์€ 1582๋…„ 10์›” 15์ผ ๋ถ€ํ„ฐ ์กด์žฌํ•œ๋‹ค.
  2. 1582๋…„ 10์›” 15์ผ ์ด์ „์€ ์œจ๋ฆฌ์šฐ์Šค๋ ฅ์œผ๋กœ ํ‘œ๊ธฐํ•œ๋‹ค.
  3. 1582๋…„ 10์›” 5์ผ ๋ถ€ํ„ฐ 1582๋…„ 10์›” 14์ผ์€ calender์ƒ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

original ์ง„์งœ๋งŒ์„ธ๋ ฅ ์ •๋ณด

original ์ง„์งœ๋งŒ์„ธ๋ ฅ์˜ ์ด์Šˆ

  1. ๋Œ€๋ถ€๋ถ„์˜ calendar๋“ค์€ 1582๋…„ 10์›” 15์ผ ์ด์ „์„ ์œจ๋ฆฌ์šฐ์Šค๋ ฅ์œผ๋กœ ํ‘œ๊ธฐํ•œ๋‹ค.
  2. ์ง„์งœ๋งŒ์„ธ๋ ฅ์€ ๋ชจ๋“  ํ‘œ์‹œ๋ฅผ ๊ทธ๋ ˆ๊ณ ๋ฆฌ๋ ฅ์œผ๋กœ ํ‘œ๊ธฐํ•œ๋‹ค.
  3. ์‹ฌ์ง€์–ด ์ง„์งœ๋งŒ์„ธ๋ ฅ์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” 1582.10.5~1582.10.14 ๊ธฐ๊ฐ„์„ ํ‘œ์‹œํ•œ๋‹ค.
  4. ์ƒ๋‹นํžˆ ๊ฑฐ์นœ(๊ฐœ๋ฐœ์ž์˜ ์ฃผ๊ด€์ด ๊ฐ•ํ•˜๊ฒŒ ๋“ค์–ด๊ฐ„) ๊ทผ์‚ฟ์‹์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ๊ตญ ์ฒœ๋ฌธ ์—ฐ๊ตฌ์›์˜ ๋ฐ์ดํ„ฐ์™€ ์•ฝ๊ฐ„์˜ ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์ด๋Ÿฐ ์ด์œ ๋กœ ๊ณ ์˜์žฅ๋‹˜์˜ ์ง„์งœ๋งŒ์„ธ๋ ฅ์€ 1582๋…„ 10์›” 15์ผ ์ด์ „์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ์œจ๋ฆฌ์•ˆ๋ ฅ์œผ๋กœ ํ‘œ๊ธฐ๋ฅผ ํ•˜๊ณ  ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋‹ฌ๋ ฅ ์ฒ˜๋Ÿผ ๋ณด์ด๊ณ  ์žˆ์œผ๋ฉฐ, 2000๋…„ ์ดํ›„์—์„œ ์‹œ๊ฐ„์ด ๊ฒฝ๊ณผ ๋  ์ˆ˜๋ก JPL ์ฒœ์ฒด๋ ฅ DE431๊ณผ ๋‹ค์†Œ ์ฐจ์ด๋ฅผ ๋ณด์ด๊ฒŒ ๋œ๋‹ค.

ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๊ณ  ํ•ด์„œ ๊ณ ์˜์ฐฝ๋‹˜์˜ ๋‹ฌ๋ ฅ์ด ์ž˜๋ชป๋˜์—ˆ๋‹ค๊ณ  ํ•  ์ˆ˜๋Š” ์—†์œผ๋ฉฐ(๋ฌผ๋ก  ๋งž๋‹ค๊ณ  ํ•  ์ˆ˜๋„ ์—†๋‹ค), ์œจ๋ฆฌ์šฐ์Šค ์ ์ผ(Julian date)์˜ ๊ฒฝ์šฐ์—๋Š” ์ •ํ™•ํ•œ ํ‘œ๊ธฐ๋ฅผ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.

๋˜ํ•œ, ๊ธฐ์กด์˜ ๋‹ฌ๋ ฅ๋“ค์ด database๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‚˜, ๊ณ ์˜์ฐฝ๋‹˜์˜ ์ง„์งœ๋งŒ์„ธ๋ ฅ์€ ๊ณ„์‚ฐ์— ์˜ํ•˜์—ฌ ์‚ฌ์šฉ ๋˜๋ฏ€๋กœ, ์Œ๋ ฅ ์œค๋‹ฌ์˜ ๊ธฐ์ค€์ด ์กฐ๊ธˆ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๊ฐ„์ด๋‚˜ ์Œ๋ ฅ์œค๋‹ฌ์˜ ์ฐจ์ด๋กœ ์ธํ•˜์—ฌ ์Œ๋ ฅ๋‚ ์ž๊ฐ€ 1~2์ผ ์ •๋„๊ฐ€ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ๋Š” ๊ณ ์˜์ฐฝ๋‹˜์˜ ํ™ˆํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค.

์ง„์งœ ๋งŒ์„ธ๋ ฅ๊ณผ Lunar Pear ํŒจํ‚ค์ง€์˜ ์ฐจ์ด

  1. ๋ชจ๋“  ๊ณ„์‚ฐ์€ original ์ง„์งœ๋งŒ์„ธ๋ ฅ์˜ ๊ณ„์‚ฐ ๋ฐฉ์‹์„ ๋”ฐ๋ฅธ๋‹ค. (์ด๋Š” ๋‹ค๋ฅธ calendar๋“ค๊ณผ ์Œ๋ ฅ ๋‚ ์ž๊ฐ€ 1~2์ผ์˜ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ณ , ์Œ๋ ฅ ์œค๋‹ฌ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.)
  2. 1582๋…„ 10์›” 15์ผ ์ด์ „์˜ ํ‘œ๊ธฐ๋ฅผ ์œจ๋ฆฌ์šฐ์Šค๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. (๋‹ค๋ฅธ calender๋“ค๊ณผ ์—ญ์‚ฌ ๊ธฐ๋ก๊ณผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„œ...)
  3. ์œจ๋ฆฌ์šฐ์Šค๋ ฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์›์ „ calender๋Š” BC 4713๋…„ 2์›” 8์ผ ๋ถ€ํ„ฐ ๊ฐ€๋Šฅํ•˜๋‹ค.
  4. ์œ„์˜ ์ด์œ ๋Š” ์ง„์งœ๋งŒ์„ธ๋ ฅ์˜ ๊ณ„์‚ฐ์€ ๊ทธ๋ ˆ๊ณ ๋ฆฌ๋ ฅ์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œจ๋ฆฌ์šฐ์Šค๋ ฅ์„ ๊ทธ๋ ˆ๊ณ ๋ฆฌ๋ ฅ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ œ์•ฝ ๋•Œ๋ฌธ์ด๋‹ค.
  5. 2.0 ๋ถ€ํ„ฐ๋Š” KASI-Lunar package pear package๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ, 1391-02-05 ~ 2050-12-31 ๊นŒ์ง€๋Š” ํ•œ๊ตญ์ฒœ๋ฌธ์—ฐ๊ตฌ์›์˜ ์Œ์–‘๋ ฅ DB๋ฅผ ์ง€์›ํ•œ๋‹ค.

๊ณ ์˜์ฐฝ๋‹˜์˜ ์ง„์งœ๋งŒ์„ธ๋ ฅ๊ณผ ๋™์ผํ•˜๊ฒŒ ํฌํŒ…ํ•œ ๋ฒ„์ „์„ ์›ํ•  ๊ฒฝ์šฐ, http://oops.org/project/manse/original ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ  ํ•˜๋„๋ก ํ•œ๋‹ค.

Calendar ์œ ํšจ ๊ธฐ๊ฐ„

  • 32bit:
    • ์–‘๋ ฅ BC 2086(-2087)๋…„ 2์›” 9์ผ ~ AD 6078๋…„ 1์›” 29์ผ
    • ์Œ๋ ฅ BC 2086(-2087)๋…„ 1์›” 1์ผ ~ AD 6077๋…„ 12์›” 29์ผ
    • BC 2087๋…„ 7์›” 5์ผ๋ถ€ํ„ฐ๋Š” ๊ณ„์‚ฐ์ด ๊ธ‰์†ํ•˜๊ฒŒ ๋А๋ ค์ง„๋‹ค.
  • 64bit:
    • BC 4713(-4712)๋…„ 2์›” 8์ผ ~ AD 9999๋…„ 12์›” 31์ผ
    • API์˜ ์—ฐ๋„ ์ฒดํฌ๊ฐ€ 4์ž๋ฆฌ ๊นŒ์ง€์ด๋ฏ€๋กœ 10000๋…„ ์ด์ƒ์€ ํ™•์ธ ๋ชปํ•จ
    • 64bit ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•œ ์‹œ์ ๊นŒ์ง€ ๊ฐ€๋Šฅํ•  ๋“ฏ..
    • ๊ธฐ์›์ „์˜ ๊ฒฝ์šฐ ์œจ๋ฆฌ์šฐ์Šค ์ ์ผ์ด BC 4713๋…„ 1์›” 1์ผ ๋ถ€ํ„ฐ์ด๋ฏ€๋กœ ๊ทธ๋ ˆ๊ณ ๋ฆฌ๋ ฅ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•œ BC 4713๋…„ 2์›” 8์ผ๋ถ€ํ„ฐ ๊ฐ€๋Šฅํ•˜๋‹ค.

Installation

[root@host ~]$ pear channel-discover pear.oops.org
Adding Channel "pear.oops.org" succeeded
Discovery of channel "pear.oops.org" succeeded
[root@host ~]$ pear install oops/Lunar

dependency

Reference

http://pear.oops.org/docs/oops-Lunar/Lunar/Lunar.html

Sample codes

<?php
/*
 * Lunar API import
 */
/*
 * oops/KASI_Lunar pcakge๊ฐ€ ์„ค์น˜ ๋˜์–ด ์žˆ์œผ๋ฉด, 1391-02-05 ~ 2050-12-31 ๊นŒ์ง€์˜ ์Œ๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ
 * ํ•œ๊ตญ ์ฒœ๋ฌธ ์—ฐ๊ตฌ์†Œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•œ๋‹ค.
 */
require_once 'KASI_Lunar.php';
require_once 'Lunar.php';


$target = $argv[1] ? $argv[1] : date ('Ymd', time ());

$lunar = new oops\Lunar;


/*
 * $lunar->toargs (&$v)
 *
 * input:
 *        2013-07-13
 *        2013-7-13
 *        20130713
 *        1373641200
 *        Null
 *
 * output:
 *       Array
 *       (
 *           [0] => 2013
 *           [1] => 7
 *           [2] => 13
 *       )
 *
 * and reference variavble $v is changed to '2013-07-13'
 */

$v = '2013-7-13';
$r = $lunar->toargs ($v);
echo "### $v\n";
print_r ($r);

/*
 * $lunar->human_year ($y)
 *
 * input:
 *        -2334
 *
 * output:
 *        BC 2333
 */

echo $lunar->human_year (-2333);

/*
 * $lunar->is_reap ($y)
 *
 * input:
 *        1992 (์–‘๋ ฅ)
 *
 * output:
 *        true
 */

if ( $lunar->is_leap (1992) )
    echo "This is Yoon Year\n";
else
    echo "This is not Yoon Year\n";

/*
 * $lunar->tolunar ($date)
 *
 * input:
 *        2013-07-16 or
 *        2013-7-16  or
 *        20130716   or
 *        1373900400 or
 *        NULL
 *
 * output
 *        stdClass Object
 *        (
 *            [fmt] => 2013-06-09
 *            [dangi] => 4346
 *            [hyear] => AD 2013
 *            [year] => 2013
 *            [month] => 6
 *            [day] => 9
 *            [leap] =>
 *            [largemonth] => 1
 *            [week] => ํ™”
 *            [hweek] => ็ซ
 *            [unixstamp] => 1373900400
 *            [ganji] => ๊ณ„์‚ฌ
 *            [hganji] => ็™ธๅทณ
 *            [gan] => ๊ณ„
 *            [hgan] => ็™ธ
 *            [ji] => ์‚ฌ
 *            [hji] => ๅทณ
 *            [ddi] => ๋ฑ€
 *        )
 */

print_r ($lunar->tolunar ('2013-07-16'));

/*
 * $lunar->tosolar ($date)
 *
 * input:
 *        2013-06-09 or
 *        2013-6-09  or
 *        20130609   or
 *        NULL
 *
 * output
 *        stdClass Object
 *        (
 *            [fmt] => 2013-07-16
 *            [dangi] => 4346
 *            [hyear] => AD 2013
 *            [year] => 2013
 *            [month] => 7
 *            [day] => 16
 *            [week] => ํ™”
 *            [hweek] => ็ซ
 *            [unixstamp] => 1373900400
 *            [ganji] => ๊ณ„์‚ฌ
 *            [hganji] => ็™ธๅทณ
 *            [gan] => ๊ณ„
 *            [hgan] => ็™ธ
 *            [ji] => ์‚ฌ
 *            [hji] => ๅทณ
 *            [ddi] => ๋ฑ€
 *        )
 */

print_r ($lunar->tosolar ('2013-06-09'));

/*
 * ๊ตฌํ•˜๋Š” ์Œ๋ ฅ์›”์˜ ์œค๋‹ฌ ์—ฌ๋ถ€๋ฅผ ๋ชจ๋ฅธ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ™•์ธ
 * ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.
 */
$lun = '2013-06-09';
$solv = $lunar->tosolar ($lun);
$lunv = $lunar->tolunar ($sol->fmt);
if ( $lun != $lunv->fmt )
    $solv = $lunar->tosolar ($lun, true);


/*
 * $lunar->dayfortuen ($date)
 *
 * input:
 *        2013-07-16 or
 *        2013-7-16  or
 *        20130716   or
 *        1373900400 or
 *        NULL
 *
 * output:
 *        stdClass Object
 *        (
 *            [data] => stdClass Object
 *                (
 *                     [y] => 29           // ์„ธ์ฐจ index
 *                     [m] => 55           // ์›”๊ฑด index
 *                     [d] => 19           // ์ผ์ง„ index
 *                )
 *   
 *            [year] => ๊ณ„์‚ฌ               // ์„ธ์ฐจ ๊ฐ’
 *            [month] => ๊ธฐ๋ฏธ              // ์›”๊ฑด ๊ฐ’
 *            [day] => ๊ณ„๋ฏธ                // ์ผ์ง„ ๊ฐ’
 *            [hyear] => ็™ธๅทณ              // ํ•œ์ž ์„ธ์ฐจ ๊ฐ’
 *            [hmonth] => ๅทฑๆœช             // ํ•œ์ž ์›”๊ฑด ๊ฐ’
 *            [hday] => ็™ธๆœช               // ํ•œ์ž ์ผ์ง„ ๊ฐ’
 *        )
 */

print_r ($lunar->dayfortune ('2013-07-16'));

/*
 * 7์›” 1์ผ ๋ถ€ํ„ฐ 30์ผ ๊นŒ์ง€์˜ ์ผ์ง„์„ ๊ตฌํ•  ๊ฒฝ์šฐ
 * ๋‹ค์Œ์€ ์•„์ฃผ ์•ˆ์ข‹์€ ๋ฐฉ๋ฒ•์ด๋‹ค.
 */

for ( $i=1; $i<31; $i++ ) {
    $r = $lunar->dayfortune ('2013-07-' . $i);
    $iljin[$i] = $r->day;
}

/*
 * ์œ„์˜ ๊ฒฝ์šฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด $lunar->ganji_ref method๋ฅผ ์ด์šฉํ•˜์—ฌ
 * ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.
 */

$r = $lunar->dayfortune ('2013-07-01');
$iljin[$i] = $r->day;
$gindex = $r->data->d;

for ( $i=2; $i<31; $i++ ) {
    $gindex++;
    if ( $gindex >= 60 )
        $gindex -= 60;
    $iljin[$i] = $lunar->ganji_ref[$gindex];
}


/*
 * $lunar->s28day ($date)
 *
 * input:
 *        2013-07-16 or
 *        2013-7-16  or
 *        20130716   or
 *        1373900400 or
 *        NULL
 *
 * output:
 *        stdClass Object
 *        (
 *            [data] => 5
 *            [k] => ๋ฏธ
 *            [h] => ๅฐพ
 *        )
 */

print_r ($lunar->s28day ('2013-07-16'));

/*
 * ์—ญ์‹œ 7/1 ๋ถ€ํ„ฐ 7/30 ๊นŒ์ง€์˜ ์ผ์ง„์„ ๊ตฌํ•  ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด
 * ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ๋งค์šฐ ์ข‹์•„์ง„๋‹ค.
 */

$s28 = null;
for ( $i=0; $i<30; $i++ ) {
    if ( $s28 === null )
        $s28 = $lunar->s28day ('2013-07-01');
    else
        $s28 = $lunar->s28day ($s28);

    $s28v[$i] = $s28->k;
}

/*
 * $lunar->seasondate ($date)
 *
 * input:
 *        2013-07-16 or
 *        2013-7-16  or
 *        20130716   or
 *        1373900400 or
 *        NULL
 *
 * output:
 *        stdClass Object
 *        (
 *            [center] => stdClass Object
 *                (
 *                    [name] => ์†Œ์„œ
 *                    [hname] => ๅฐๆš‘
 *                    [hyear] => AD 2013
 *                    [year] => 2013
 *                    [month] => 7
 *                    [day] => 7
 *                    [hour] => 7
 *                    [min] => 49
 *                )
 *  
 *            [ccenter] => stdClass Object
 *                (
 *                    [name] => ๋Œ€์„œ
 *                    [hname] => ๅคงๆš‘
 *                    [hyear] => AD 2013
 *                    [year] => 2013
 *                    [month] => 7
 *                    [day] => 23
 *                    [hour] => 1
 *                    [min] => 11
 *                )
 *  
 *            [nenter] => stdClass Object
 *                (
 *                    [name] => ์ž…์ถ”
 *                    [hname] => ๏งท็ง‹
 *                    [hyear] => AD 2013
 *                    [year] => 2013
 *                    [month] => 8
 *                    [day] => 7
 *                    [hour] => 17
 *                    [min] => 36
 *                )
 *        )
 */

print_r ($lunar->seasondate ('2013-07-16'));


/*
 * $lunar->moonstatus ($date)
 *
 * input:
 *        2013-07-16 or
 *        2013-7-16  or
 *        20130716   or
 *        1373900400 or
 *        NULL
 *
 * output:
 *   stdClass Object
 *   (
 *       [new] => stdClass Object
 *           (
 *               [hyear] => AD 2013
 *               [year] => 2013
 *               [month] => 7
 *               [day] => 8
 *               [hour] => 16
 *               [min] => 15
 *           )
 *
 *       [full] => stdClass Object
 *           (
 *               [hyear] => AD 2013
 *               [year] => 2013
 *               [month] => 7
 *               [day] => 23
 *               [hour] => 2
 *               [min] => 59
 *           )
 *   )
 */

print_r ($lunar->moonstatus ('2013-07-01'));

/*
 * ํ•ฉ์‚ญ/๋ง ์ •๋ณด์˜ ๊ฒฝ์šฐ, ํ•œ๋‹ฌ์— ์Œ๋ ฅ์›”์ด 2๊ฐœ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ,
 * 1์ผ์˜ ์ •๋ณด๋งŒ ์–ป์–ด์„œ๋Š” ํ•ฉ์‚ญ/๋ง ์ค‘์— 1๊ฐœ์˜ ์ •๋ณด๋งŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
 * ๊ทธ๋Ÿฌ๋ฏ€๋กœ, 1์ผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์€ ๋‹ค์Œ, ์Œ๋ ฅ 1์ผ์˜ ์ •๋ณด๊นŒ์ง€ ๊ตฌํ•˜๋ฉด
 * ํ•œ๋‹ฌ์˜ ํ•ฉ์‚ญ/๋ง ์ •๋ณด๋ฅผ ๋ชจ๋‘ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
 */

$lun = $lunar->tolunar ('2013-07-01');

if ( $lun->largemonth ) // ํ‰๋‹ฌ์˜ ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰์ด 29์ผ์ด๊ณ  ํฐ๋‹ฌ์€ 30์ผ์ด๋‹ค.
    $plus = 29 - $lun->day;
else
    $plus = 30 - $lun->day;

$r1 = $lunar->moonstatus ('2013-07-01');           // ์Œ๋ ฅ 2013-05-23
$r2 = $lunar->moonstatus ('2013-07-' . 1 + $plus); // ์Œ๋ ฅ 2013-06-01

print_r ($r1);
print_r ($r2);

?>

About

Lunar php class pear package

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages