Develop
2013.12.25 00:15
[php] GregorianToJD(), JDToGregorian() 함수 내용
조회 수 10639 댓글 0
어떤 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
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
589 | Develop | [java] Sieve of Eratosthenes (에라토스테네스의 체) | hooni | 2013.04.23 | 9349 |
588 | Develop | [js] 사진첩에 쓸 내용 - 마우스 오버로 바꾸기 | hooni | 2013.04.23 | 6363 |
587 | Develop | [js] 폼(form) 전송시 중복 클릭 방지 간단한 구문 | hooni | 2013.04.23 | 9329 |
586 | Develop | [ajax] 샘플 코드와 한글처리에 대한 간단한 설명 | hooni | 2013.04.23 | 6877 |
585 | Develop |
[c] 전위 표기법으로 연산 예제..
![]() |
hooni | 2013.04.23 | 9322 |
584 | Develop |
[c] 프로그램 코드(c/c++)를 html 파일로 변환
![]() |
hooni | 2013.04.23 | 7696 |
583 | Develop |
[c] 구조체 배열 예제 (학생 성적 계산)
![]() |
hooni | 2013.04.23 | 7691 |
582 | Develop |
[c] 숫자 맞추는 게임..
![]() |
hooni | 2013.04.23 | 6953 |
581 | Develop | [js] php의 number_format() 함수와 같은.. ㅋㅋ | hooni | 2013.04.23 | 6953 |
580 | Develop |
[c] 베이지언(Bayesian) 패턴인식 과제 ㅋㅋ
![]() |
hooni | 2013.04.23 | 7117 |
579 | Develop |
[c] KNN(K-nearest neighbor) 패턴인식 과제..
![]() |
hooni | 2013.04.23 | 7415 |
578 | Develop | [php] 날짜 정보 출력 (년,월,일,시,분,초) | hooni | 2013.04.23 | 10580 |