
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