Contents

조회 수 10596 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
어떤 XE플래너 위젯을 쓰다보면 아래 로컬 함수가 구현되지 않아 오류나는 경우가 있다.
class.planner123_widget_main.php 함수의 1

그레고리안(Gregorian) -> 줄리안(Julian) 변환
function GregorianToJD ($month,$day,$year) { 
    if ($month > 2) { 
        $month = $month - 3; 
    } else { 
        $month = $month + 9; 
        $year = $year - 1; 
    } 
    $c = floor($year / 100); 
    $ya = $year - (100 * $c); 
    $j = floor((146097 * $c) / 4); 
    $j += floor((1461 * $ya)/4); 
    $j += floor(((153 * $month) + 2) / 5); 
    $j += $day + 1721119; 
    return $j; 
}

줄리안(Julian) -> 그레고리안(Gregorian) 변환 (버전1)
function JDToGregorian($julian) {
    //return planner123_widget_main::fn_calcJDToGregorian($julian);
    $julian = $julian - 1721119;
    $calc1 = 4 * $julian - 1;
    $year = floor($calc1 / 146097);
    $julian = floor($calc1 - 146097 * $year);
    $day = floor($julian / 4);
    $calc2 = 4 * $day + 3;
    $julian = floor($calc2 / 1461);
    $day = $calc2 - 1461 * $julian;
    $day = floor(($day + 4) / 4);
    $calc3 = 5 * $day - 3;
    $month = floor($calc3 / 153);
    $day = $calc3 - 153 * $month;
    $day = floor(($day + 5) / 5);
    $year = 100 * $year + $julian;
    
    if ($month < 10) {
        $month = $month + 3;
    }else{
        $month = $month - 9;
        $year = $year + 1;
    }
    
    if ($day < 10) {
        $day = "0".$day;
    }
    
    if ($month < 10) {
        $month = "0".$month;
    }
    
    //return $day."/".$month."/".$year;
    return $month."/".$day."/".$year;
}


줄리안(Julian) -> 그레고리안(Gregorian) 변환 (버전2)

function fn_calcJDToGregorian($julian) {
    $z = $julian;
    $f =  .5;
    $f = 0.0; // PHP함수와 결과값 맞추기 위해 0.5일 조정함

    if($z < 2299161){
        $a = $z;
    }else{
        $alpha = floor(($z - 1867216.25) / 36524.25);
        $a = $z + 1 + $alpha - floor($alpha / 4);
    }

    $b = $a + 1524;
    $c = floor( ($b - 122.1) / 365.25);
    $d = floor( 365.25 * $c);
    $e = floor( ($b - $d) / 30.6001);
    $dd = floor( $b - $d - floor(30.6001 * $e) + $f);

    if($e < 13.5) {
        $mm = $e - 1;
    }else{
        $mm = $e - 13;
    }

    if($mm < 2.5 ){
        $yy = $c - 4715;
    }else{
        $yy = $c - 4716;
    }

    return "$mm/$dd/$yy";
}


[출처] http://flashcafe.org/php_function/8705


?

  1. [js] 2048 예쁘게 만들고 있는거.. ㅋㄷ

    Date2015.01.30 CategoryDevelop Byhooni Views0
    Read More
  2. 이어서 작업할 내용~

    Date2013.11.21 CategoryDevelop Byhooni Views0
    Read More
  3. [c#] 전자금융보안론 발표/설치 자료(툴바 소스코드)

    Date2016.05.07 CategoryDevelop Byhooni Views0
    Read More
  4. [ios] 스터디 자료 (from 종길M)

    Date2013.06.04 CategoryDevelop Byhooni Views0
    Read More
  5. [ios] 패스(path) 앱 메뉴 스타일

    Date2013.06.11 CategoryDevelop Byhooni Views0
    Read More
  6. 아이 훌레시 작업중 ㅋㅋ

    Date2013.08.09 CategoryDevelop Byhooni Views0
    Read More
  7. [ios] IB 없이 개발하기 (html)

    Date2013.05.31 CategoryDevelop Byhooni Views0
    Read More
  8. [iphone] PerfectlyClear 보정솔루션 최신..

    Date2013.05.28 CategoryDevelop Byhooni Views0
    Read More
  9. [ios] 최신 UI 모음.. (나중에 정리할 것)

    Date2013.08.09 CategoryDevelop Byhooni Views0
    Read More
  10. 사이버보안실무 수업 메모

    Date2017.03.23 CategoryDevelop Byhooni Views0
    Read More
  11. DDay Memo 1.9.4 소스코드

    Date2015.10.03 CategoryDevelop Byhooni Views0
    Read More
  12. [ios] APNS 샘플 코드..

    Date2013.06.27 CategoryDevelop Byhooni Views0
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 71 Next
/ 71