File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed
Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -54,14 +54,18 @@ class TimeConverter:
5454 """
5555
5656 def __init__ (self , time_origin : float | np .datetime64 | np .timedelta64 | cftime .datetime = 0 ):
57- self .time_origin = time_origin
5857 self .calendar : str | None = None
5958 if isinstance (time_origin , np .datetime64 ):
59+ self .time_origin = time_origin
6060 self .calendar = "np_datetime64"
6161 elif isinstance (time_origin , np .timedelta64 ):
62+ self .time_origin = time_origin .astype ("timedelta64[s]" )
6263 self .calendar = "np_timedelta64"
6364 elif isinstance (time_origin , cftime .datetime ):
65+ self .time_origin = time_origin
6466 self .calendar = time_origin .calendar
67+ else :
68+ self .time_origin = time_origin
6569
6670 def reltime (self , time : TimeConverter | np .datetime64 | np .timedelta64 | cftime .datetime ) -> float | npt .NDArray :
6771 """Method to compute the difference, in seconds, between a time and the time_origin
Original file line number Diff line number Diff line change @@ -40,6 +40,18 @@ def test_TimeConverter_reltime_one_day():
4040 assert tc .reltime (time ) == ONE_DAY
4141
4242
43+ def test_TimeConverter_timedelta64_float ():
44+ ONE_DAY = 24 * 60 * 60
45+ tc = TimeConverter (np .timedelta64 (0 , "s" ))
46+ assert tc .reltime (1 * ONE_DAY ) == 1 * ONE_DAY
47+
48+ tc = TimeConverter (np .timedelta64 (0 , "D" ))
49+ assert tc .reltime (1 * ONE_DAY ) == 1 * ONE_DAY
50+
51+ tc = TimeConverter (np .timedelta64 (0 , "ns" ))
52+ assert tc .reltime (1 * ONE_DAY ) == 1 * ONE_DAY
53+
54+
4355@pytest .mark .parametrize (
4456 "x, y" ,
4557 [
You can’t perform that action at this time.
0 commit comments