개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.13 09:22

cal_to_jd 함수에 대한 질문

목록
  • 암호화마스터 3일 전 2025.07.13 09:22
  • 18
    1
cal_to_jd 함수를 사용하여 날짜를 julian day로 변환하려고 합니다.
하지만, 변환 결과가 제대로 나오지 않습니다.
'cal_to_jd(2022, 1, 1, 0, 0, 0)'를 사용했을 때 julian day가 2459581.0이 나와야 하는데,
실제로 나온 결과는 2459581.0이 아닌 2459581.0 + 0.5가 나옵니다.
이러한 오류는 어떻게 해결할 수 있을까요?

또한, julian day를 사용하여 날짜를 변환하는 cal_from_jd 함수도 함께 사용하고 싶습니다.
cal_from_jd 함수는 julian day를 입력하면 날짜를 다시 변환해주는 함수인 것 같은데,
이 함수를 사용하여 julian day 2459581.0을 날짜로 변환하면 어떤 결과가 나올까요?

선생님, cal_to_jd 함수와 cal_from_jd 함수에 대한 자세한 내용을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    cal_to_jd 함수는 julian day로 변환할 때, 시간을 고려하지 않습니다. 따라서, cal_to_jd 함수를 사용하여 2022년 1월 1일 00:00:00을 julian day로 변환하면 2459581.0이 나옵니다.

    이러한 오류는 시간을 고려하지 않기 때문에 발생하는 것입니다. cal_to_jd 함수를 사용할 때, 시간을 고려하지 않으므로 00:00:00이 아닌 다른 시간을 입력하면 julian day에 0.5이 추가됩니다.

    cal_from_jd 함수는 julian day를 날짜로 변환하는 함수입니다. julian day 2459581.0을 입력하면 2022년 1월 1일 00:00:00이 나옵니다.

    cal_to_jd 함수와 cal_from_jd 함수는 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    python
    
    import datetime
    
    
    
    def cal_to_jd(year, month, day, hour, minute, second):
    
        t = datetime.datetime(year, month, day, hour, minute, second)
    
        return t.timestamp() + 2440587.5
    
    
    
    def cal_from_jd(jd):
    
        t = datetime.datetime.fromtimestamp(jd - 2440587.5)
    
        return t
    
    
    
    # cal_to_jd 함수 사용
    
    print(cal_to_jd(2022, 1, 1, 0, 0, 0))  # 2459581.0
    
    
    
    # cal_from_jd 함수 사용
    
    print(cal_from_jd(2459581.0))  # 2022-01-01 00:00:00
    
    


    위의 예제에서 cal_to_jd 함수는 julian day로 변환할 때, 시간을 고려하지 않습니다. 따라서, cal_to_jd 함수를 사용하여 2022년 1월 1일 00:00:00을 julian day로 변환하면 2459581.0이 나옵니다.

    cal_from_jd 함수는 julian day를 날짜로 변환하는 함수입니다. julian day 2459581.0을 입력하면 2022년 1월 1일 00:00:00이 나옵니다.

    2025-07-13 09:22

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 36,451건 / 43 페이지

검색

게시물 검색