1
1
import pandas as pd
2
2
import duckdb
3
- import datetime
4
3
import numpy as np
5
4
import pytest
6
-
5
+ from datetime import datetime , timezone , time , timedelta
7
6
8
7
class TestDateTimeTime (object ):
9
8
10
9
def test_time_high (self , duckdb_cursor ):
11
10
duckdb_time = duckdb .query ("SELECT make_time(23, 1, 34.234345) AS '0'" ).df ()
12
- data = [datetime . time (hour = 23 , minute = 1 , second = 34 , microsecond = 234345 )]
11
+ data = [time (hour = 23 , minute = 1 , second = 34 , microsecond = 234345 )]
13
12
df_in = pd .DataFrame (
14
13
{'0' : pd .Series (data = data , dtype = 'object' )}
15
14
)
@@ -18,7 +17,7 @@ def test_time_high(self, duckdb_cursor):
18
17
19
18
def test_time_low (self , duckdb_cursor ):
20
19
duckdb_time = duckdb .query ("SELECT make_time(00, 01, 1.000) AS '0'" ).df ()
21
- data = [datetime . time (hour = 0 , minute = 1 , second = 1 )]
20
+ data = [time (hour = 0 , minute = 1 , second = 1 )]
22
21
df_in = pd .DataFrame (
23
22
{'0' : pd .Series (data = data , dtype = 'object' )}
24
23
)
@@ -28,9 +27,9 @@ def test_time_low(self, duckdb_cursor):
28
27
def test_time_timezone_regular (self , duckdb_cursor ):
29
28
duckdb_time = duckdb .query ("SELECT make_time(00, 01, 1.000) AS '0'" ).df ()
30
29
# time is 3 hours ahead of UTC
31
- offset = datetime . timedelta (hours = 3 )
32
- timezone = datetime . timezone (offset )
33
- data = [datetime . time (hour = 3 , minute = 1 , second = 1 , tzinfo = timezone )]
30
+ offset = timedelta (hours = 3 )
31
+ tz = timezone (offset )
32
+ data = [time (hour = 3 , minute = 1 , second = 1 , tzinfo = tz )]
34
33
df_in = pd .DataFrame (
35
34
{'0' : pd .Series (data = data , dtype = 'object' )}
36
35
)
@@ -40,9 +39,9 @@ def test_time_timezone_regular(self, duckdb_cursor):
40
39
def test_time_timezone_negative_extreme (self , duckdb_cursor ):
41
40
duckdb_time = duckdb .query ("SELECT make_time(12, 01, 1.000) AS '0'" ).df ()
42
41
# time is 14 hours behind UTC
43
- offset = datetime . timedelta (hours = - 14 )
44
- timezone = datetime . timezone (offset )
45
- data = [datetime . time (hour = 22 , minute = 1 , second = 1 , tzinfo = timezone )]
42
+ offset = timedelta (hours = - 14 )
43
+ tz = timezone (offset )
44
+ data = [time (hour = 22 , minute = 1 , second = 1 , tzinfo = tz )]
46
45
df_in = pd .DataFrame (
47
46
{'0' : pd .Series (data = data , dtype = 'object' )}
48
47
)
@@ -52,9 +51,9 @@ def test_time_timezone_negative_extreme(self, duckdb_cursor):
52
51
def test_time_timezone_positive_extreme (self , duckdb_cursor ):
53
52
duckdb_time = duckdb .query ("SELECT make_time(12, 01, 1.000) AS '0'" ).df ()
54
53
# time is 20 hours ahead of UTC
55
- offset = datetime . timedelta (hours = 20 )
56
- timezone = datetime . timezone (offset )
57
- data = [datetime . time (hour = 8 , minute = 1 , second = 1 , tzinfo = timezone )]
54
+ offset = timedelta (hours = 20 )
55
+ tz = timezone (offset )
56
+ data = [time (hour = 8 , minute = 1 , second = 1 , tzinfo = tz )]
58
57
df_in = pd .DataFrame (
59
58
{'0' : pd .Series (data = data , dtype = 'object' )}
60
59
)
@@ -71,10 +70,6 @@ def test_pandas_datetime_overflow(self):
71
70
res = duckdb_con .execute ("select * from test" ).df ()
72
71
73
72
def test_timezone_datetime (self ):
74
- module = pytest .importorskip ("datetime" )
75
- timezone = module .timezone
76
- datetime = module .datetime
77
-
78
73
con = duckdb .connect ()
79
74
80
75
dt = datetime .now (timezone .utc ).replace (microsecond = 0 )
0 commit comments