[python] pytz를 사용하여 특정 날짜의 시간대가 유효한지 확인하는 방법은 무엇인가요?
import pytz
from datetime import datetime
# 유효한 시간대 리스트 가져오기
valid_timezones = pytz.all_timezones
# 특정 날짜 시간대 확인
def is_valid_timezone(date, timezone):
try:
aware_date = pytz.timezone(timezone).localize(date)
return True
except pytz.UnknownTimeZoneError:
return False
# 테스트용 날짜
date = datetime(2022, 1, 1)
# 테스트
if is_valid_timezone(date, 'Asia/Seoul'):
print("유효한 시간대입니다.")
else:
print("유효하지 않은 시간대입니다.")
위의 예제 코드에서는 pytz.all_timezones
를 사용하여 유효한 시간대 리스트를 가져옵니다. is_valid_timezone
함수는 주어진 날짜와 시간대를 사용하여 datetime
객체를 생성하고, localize
메서드를 사용하여 해당 시간대로 변환합니다. 만약 주어진 시간대가 유효하지 않은 경우 pytz.UnknownTimeZoneError
가 발생하므로 이를 처리하여 유효한 시간대인지 확인합니다.