반응형
DateTime을 특정 시간으로 나누어 실행해야 하는 경우 유용한 함수이다.
방식은 시간의 차이를 계산한 후 이를 나누어야 하는 타임값으로 나누어 저장하는 방식이라고 할 수 있다.
코드는 아래와 같다.
import datetime
def split_time_range(start_time, end_time, interval):
# 시작 시간과 종료 시간을 UTC로 변환
start_time = datetime.datetime.combine(start_time.date(), start_time.time(), tzinfo=datetime.timezone.utc)
end_time = datetime.datetime.combine(end_time.date(), end_time.time(), tzinfo=datetime.timezone.utc)
# 시작 시간과 종료 시간의 차이를 계산
delta = end_time - start_time
# 간격으로 나누기
intervals = delta.total_seconds() // 60 // interval
# 분할된 시간 범위를 생성
time_ranges = []
for i in range(int(intervals)):
start = start_time + datetime.timedelta(minutes=i * interval)
end = start + datetime.timedelta(minutes=interval)
time_ranges.append((start, end))
return time_ranges
start_time = "2023-12-22 09:00:00"
end_time = "2023-12-22 21:00:00"
interval = 30
if not isinstance(start_time, datetime.datetime) and not isinstance(end_time, datetime.datetime):
start_time = datetime.datetime.strptime(start_time, "%Y-%m-%d %H:%M:%S")
end_time = datetime.datetime.strptime(end_time, "%Y-%m-%d %H:%M:%S")
time_ranges = split_time_range(start_time, end_time, interval)
for time_range in time_ranges:
print(time_range[0])
print(time_range[1])
위 코드를 실행하면, 9시부터 21시까지 30분간격으로 나눈 값이 저장된다.
반응형
'Python' 카테고리의 다른 글
Django - django-admin을 찾지 못할때 (0) | 2024.03.10 |
---|---|
Python - Timezone 포맷 Datetime 값 비교 오류 (0) | 2024.03.10 |
TSQL - 문자열 포함 확인(Like) (0) | 2024.03.10 |
Python - salt와 nonce에 대해 (0) | 2024.03.10 |
Python - SSL warnings 출력 안하는/비활성화 방법 (0) | 2024.03.07 |