Skip to content

Commit

Permalink
Only support zoneinfo for python 3.9+ (#5271)
Browse files Browse the repository at this point in the history
  • Loading branch information
chipkent committed Mar 20, 2024
1 parent d22197e commit ce8865b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
8 changes: 5 additions & 3 deletions py/server/deephaven/time.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
""" This module defines functions for handling Deephaven date/time data. """

import datetime
import zoneinfo
import sys
import pytz
from typing import Union, Optional, Literal

Expand Down Expand Up @@ -186,8 +186,10 @@ def _tzinfo_to_j_time_zone(tzi: datetime.tzinfo) -> TimeZone:

# Handle zoneinfo time zones

if isinstance(tzi, zoneinfo.ZoneInfo):
return _JDateTimeUtils.parseTimeZone(tzi.key)
if sys.version_info >= (3, 9):
import zoneinfo
if isinstance(tzi, zoneinfo.ZoneInfo):
return _JDateTimeUtils.parseTimeZone(tzi.key)

# Handle constant UTC offset time zones (datetime.timezone)

Expand Down
12 changes: 7 additions & 5 deletions py/server/tests/test_time.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import unittest
from time import sleep
import datetime
import zoneinfo
import sys
import pandas as pd
import numpy as np

Expand Down Expand Up @@ -119,10 +119,12 @@ def test_to_j_time_zone(self):
to_j_time_zone(dt)
self.fail("Expected DHError")

dttz = zoneinfo.ZoneInfo("America/New_York")
dt = datetime.datetime(2022, 7, 7, 14, 21, 17, 123456, tzinfo=dttz)
self.assertEqual(to_j_time_zone(dttz), to_j_time_zone("America/New_York"))
self.assertEqual(to_j_time_zone(dt), to_j_time_zone("America/New_York"))
if sys.version_info >= (3, 9):
import zoneinfo
dttz = zoneinfo.ZoneInfo("America/New_York")
dt = datetime.datetime(2022, 7, 7, 14, 21, 17, 123456, tzinfo=dttz)
self.assertEqual(to_j_time_zone(dttz), to_j_time_zone("America/New_York"))
self.assertEqual(to_j_time_zone(dt), to_j_time_zone("America/New_York"))

with self.assertRaises(TypeError):
to_j_time_zone(False)
Expand Down

0 comments on commit ce8865b

Please sign in to comment.