Skip to content

Commit 1ce7dd3

Browse files
committed
Allow datetime timezoine aware usage
1 parent 3735a42 commit 1ce7dd3

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

ydb/types.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import enum
66
import json
77
from . import _utilities, _apis
8-
from datetime import date, datetime, timedelta
8+
from datetime import date, datetime, timedelta, timezone
99
import typing
1010
import uuid
1111
import struct
@@ -90,7 +90,11 @@ def _from_timestamp(
9090

9191
def _to_timestamp(pb: ydb_value_pb2.Value, value: typing.Union[datetime, int]):
9292
if isinstance(value, datetime):
93-
pb.uint64_value = _timedelta_to_microseconds(value - _EPOCH)
93+
if value.tzinfo:
94+
epoch = _EPOCH.replace(tzinfo=timezone.utc)
95+
else:
96+
epoch = _EPOCH
97+
pb.uint64_value = _timedelta_to_microseconds(value - epoch)
9498
else:
9599
pb.uint64_value = value
96100

0 commit comments

Comments
 (0)