Skip to content

Commit 58a2cb2

Browse files
fix for assumption of local tz by timestamp() on naive datetimes
1 parent 8e3e35d commit 58a2cb2

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

btrdb/utils/timez.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def currently_as_ns():
5151
Returns the current UTC time as nanoseconds since epoch
5252
"""
5353
dt = datetime.utcnow()
54-
return int(dt.timestamp() * 1e9)
54+
return int(dt.replace(tzinfo=pytz.utc).timestamp() * 1e9)
5555

5656

5757
def ns_to_datetime(ns):

tests/btrdb/utils/test_timez.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def test_currently_as_ns(self):
3535
"""
3636
Assert currently_as_ns returns correct value
3737
"""
38-
expected = int(datetime.datetime(2018,1,1,12).timestamp() * 1e9)
38+
expected = 1514808000000000000
3939
with freeze_time("2018-01-01 12:00:00 -0000"):
4040
assert currently_as_ns() == expected
4141

@@ -82,10 +82,10 @@ def test_ns_to_datetime_is_correct(self):
8282
"""
8383
Assert ns_to_datetime returns correct datetime
8484
"""
85-
input = 1514808000000000000
85+
val = 1514808000000000000
8686
expected = datetime.datetime(2018,1,1,12, tzinfo=pytz.UTC)
8787

88-
assert ns_to_datetime(input) == expected
88+
assert ns_to_datetime(val) == expected
8989

9090

9191
class TestToNanoseconds(object):

0 commit comments

Comments
 (0)