개발자 Q&A

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

2025.05.27 06:50

variant_date_from_timestamp 함수에 대한 질문

목록
  • 반응형디자인매니아 3일 전 2025.05.27 06:50
  • 7
    1
variant_date_from_timestamp 함수를 사용하여 timestamp 값을 날짜 형식으로 변환할 때, timestamp 값의 시간 부분이 잘못된 날짜로 변환되는 문제가 발생합니다.

예를 들어, 2022-01-01 23:00:00 timestamp 값을 변환하면 2022-01-02 00:00:00으로 변환되는데, 이 경우는 정상적인 결과입니다. 그러나 2022-01-01 25:00:00 timestamp 값을 변환하면 2023-01-01 01:00:00으로 변환되는 문제가 발생합니다.

variant_date_from_timestamp 함수에서 시간 부분이 잘못된 날짜로 변환되는 원인과 해결 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    variant_date_from_timestamp 함수는 timestamp 값을 날짜 형식으로 변환할 때, 시간 부분이 잘못된 날짜로 변환되는 문제가 발생하는 원인은 다음과 같습니다.

    - timestamp 값의 시간 부분이 24시간 이상인 경우, 다음날로 변환되기 때문입니다.

    해결 방법은 다음과 같습니다.

    - timestamp 값을 변환하기 전에, 시간 부분을 24시간 이하로 조정하는 방법을 사용할 수 있습니다.
    - timestamp 값을 변환하기 전에, 시간 부분을 24시간 이하로 조정하는 방법은 다음과 같습니다.
    - timestamp 값에서 시간 부분을 분으로 변환합니다.
    - 분을 60으로 나누어, 시간과 분을 분리합니다.
    - 시간이 24시간 이상인 경우, 24시간을 뺍니다.
    - 분을 다시 timestamp 값에 추가합니다.
    - timestamp 값을 변환하기 전에, 시간 부분을 24시간 이하로 조정하는 방법은 다음과 같이 코드로 구현할 수 있습니다.

    #hostingforum.kr
    python
    
    from datetime import datetime, timedelta
    
    
    
    def variant_date_from_timestamp(timestamp):
    
        # timestamp 값을 datetime 객체로 변환합니다.
    
        dt = datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S')
    
        
    
        # 시간 부분을 분으로 변환합니다.
    
        hour, minute, second = dt.hour, dt.minute, dt.second
    
        
    
        # 분을 60으로 나누어, 시간과 분을 분리합니다.
    
        hour, minute = divmod(hour * 60 + minute, 60)
    
        
    
        # 시간이 24시간 이상인 경우, 24시간을 뺍니다.
    
        if hour >= 24:
    
            hour -= 24
    
        
    
        # 분을 다시 timestamp 값에 추가합니다.
    
        dt = dt.replace(hour=hour, minute=minute, second=second)
    
        
    
        # datetime 객체를 timestamp 형식으로 변환합니다.
    
        timestamp = dt.strftime('%Y-%m-%d %H:%M:%S')
    
        
    
        return timestamp
    
    
    
    # 예제
    
    timestamp = '2022-01-01 25:00:00'
    
    print(variant_date_from_timestamp(timestamp))  # 2022-01-01 01:00:00
    
    

    2025-05-27 06:50

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

검색

게시물 검색