heboya8's picture
Upload folder using huggingface_hub
2eee82e verified
raw
history blame contribute delete
797 Bytes
from datetime import timezone, timedelta
import re
def parse_timezone(tz_offset_str):
"""
Parse a timezone offset string (e.g., '+07:00') and return a timezone object.
Args:
tz_offset_str (str): Timezone offset in format '[+-]HH:MM'
Returns:
timezone: A datetime.timezone object with the specified offset
Raises:
ValueError: If the timezone format is invalid
"""
match = re.match(r'([+-])(\d{2}):(\d{2})', tz_offset_str)
if not match:
raise ValueError(f"Invalid timezone format: {tz_offset_str}")
sign, hours, minutes = match.groups()
hours, minutes = int(hours), int(minutes)
if sign == '-':
hours, minutes = -hours, -minutes
return timezone(timedelta(hours=hours, minutes=minutes))