<?
require_once './KASI_Lunar.php';
require_once './Lunar.php';
$lunar = new oops\Lunar;
// # 음력 -> 양력
// $date = '2024-01-01'; // 음력 1월 1일
// $result = $lunar->tosolar ($date);
// print_r($result);
// # 양력 -> 음력
// $date = $result->fmt;
// $result = $lunar->tolunar ($date);
// print_r ($result);
// # 2020년 부터 2040년까지
for( $year=2023; $year<=2040; $year++) {
for( $month = 1; $month <= 12; $month++ ) {
for ( $day = 1; $day <= 31; $day++ ) {
$month2 = sprintf("%02d", $month);
$day2 = sprintf("%02d", $day);
$dateYmd = "$year-$month2-$day2";
if ( !checkdate($month2, $day2, $year) ) continue;
$result = $lunar->tolunar ($dateYmd); // 양력 -> 음력
$dateLunar = $result->fmt;
$result = $lunar->tosolar ($dateLunar); // 음력 -> 양력
$dateSolar = $result->fmt;
$dateSolar2 = '';
# 다른 결과가 나오면 윤달인것이다.
$eqName = ( $dateYmd == $dateSolar ) ? ' ':'다름';
if ( $eqName == '다름' ) {
$result = $lunar->tosolar ($dateLunar, true); // 음력 -> 양력
$dateSolar2 = $result->fmt;
}
echo "$eqName: $dateYmd -> $dateLunar -> $dateSolar($dateSolar2)" . PHP_EOL;
}
}
}
# 음력을 양력으로 변환할때도 윤달을 체크 해야 하나?
// 다름: 2023-03-22(양력) -> 2023-02-01(음력) -> 2023-02-20(2023-03-22) - 윤달적용
// 다름: 2023-03-23(양력) -> 2023-02-02(음력) -> 2023-02-21(2023-03-23) - 윤달적용
// 다름: 2023-03-24(양력) -> 2023-02-03(음력) -> 2023-02-22(2023-03-24) - 윤달적용
// 다름: 2023-03-25(양력) -> 2023-02-04(음력) -> 2023-02-23(2023-03-25) - 윤달적용
// 다름: 2023-03-26(양력) -> 2023-02-05(음력) -> 2023-02-24(2023-03-26) - 윤달적용
// 다름: 2023-03-27(양력) -> 2023-02-06(음력) -> 2023-02-25(2023-03-27) - 윤달적용
// 다름: 2023-03-28(양력) -> 2023-02-07(음력) -> 2023-02-26(2023-03-28) - 윤달적용
// 다름: 2023-03-29(양력) -> 2023-02-08(음력) -> 2023-02-27(2023-03-29) - 윤달적용
// 다름: 2023-03-30(양력) -> 2023-02-09(음력) -> 2023-02-28(2023-03-30) - 윤달적용
// 다름: 2023-03-31(양력) -> 2023-02-10(음력) -> 2023-03-01(2023-03-31) - 윤달적용
// 다름: 2023-04-01(양력) -> 2023-02-11(음력) -> 2023-03-02(2023-04-01) - 윤달적용
// 다름: 2023-04-02(양력) -> 2023-02-12(음력) -> 2023-03-03(2023-04-02) - 윤달적용
// 다름: 2023-04-03(양력) -> 2023-02-13(음력) -> 2023-03-04(2023-04-03) - 윤달적용
// 다름: 2023-04-04(양력) -> 2023-02-14(음력) -> 2023-03-05(2023-04-04) - 윤달적용
// 다름: 2023-04-05(양력) -> 2023-02-15(음력) -> 2023-03-06(2023-04-05) - 윤달적용
// 다름: 2023-04-06(양력) -> 2023-02-16(음력) -> 2023-03-07(2023-04-06) - 윤달적용
// 다름: 2023-04-07(양력) -> 2023-02-17(음력) -> 2023-03-08(2023-04-07) - 윤달적용
// 다름: 2023-04-08(양력) -> 2023-02-18(음력) -> 2023-03-09(2023-04-08) - 윤달적용
// 다름: 2023-04-09(양력) -> 2023-02-19(음력) -> 2023-03-10(2023-04-09) - 윤달적용
// 다름: 2023-04-10(양력) -> 2023-02-20(음력) -> 2023-03-11(2023-04-10) - 윤달적용
// 다름: 2023-04-11(양력) -> 2023-02-21(음력) -> 2023-03-12(2023-04-11) - 윤달적용
// 다름: 2023-04-12(양력) -> 2023-02-22(음력) -> 2023-03-13(2023-04-12) - 윤달적용
// 다름: 2023-04-13(양력) -> 2023-02-23(음력) -> 2023-03-14(2023-04-13) - 윤달적용
// 다름: 2023-04-14(양력) -> 2023-02-24(음력) -> 2023-03-15(2023-04-14) - 윤달적용
// 다름: 2023-04-15(양력) -> 2023-02-25(음력) -> 2023-03-16(2023-04-15) - 윤달적용
// 다름: 2023-04-16(양력) -> 2023-02-26(음력) -> 2023-03-17(2023-04-16) - 윤달적용
// 다름: 2023-04-17(양력) -> 2023-02-27(음력) -> 2023-03-18(2023-04-17) - 윤달적용
// 다름: 2023-04-18(양력) -> 2023-02-28(음력) -> 2023-03-19(2023-04-18) - 윤달적용
// 다름: 2023-04-19(양력) -> 2023-02-29(음력) -> 2023-03-20(2023-04-19) - 윤달적용
# 음력 -> 양력 - 윤달 체크를 해야 한다.
$date = '2023-02-01';
$result = $lunar->tosolar($date, true);
echo "음력 -> 양력: $date -> {$result->fmt}" . PHP_EOL;
# 양력 -> 음력
$date = $result->fmt;
$result = $lunar->tolunar($date);
echo "양력 -> 음력: $date -> {$result->fmt}" . PHP_EOL;
exit;
?>