MCPcopy Index your code
hub / github.com/pydata/xarray / _parsed_string_to_bounds

Function _parsed_string_to_bounds

xarray/coding/cftimeindex.py:81–122  ·  view source on GitHub ↗

Generalization of pandas.tseries.index.DatetimeIndex._parsed_string_to_bounds for use with non-standard calendars and cftime.datetime objects.

(date_type, resolution, parsed)

Source from the content-addressed store, hash-verified

79
80
81def _parsed_string_to_bounds(date_type, resolution, parsed):
82 """Generalization of
83 pandas.tseries.index.DatetimeIndex._parsed_string_to_bounds
84 for use with non-standard calendars and cftime.datetime
85 objects.
86 """
87 if resolution == "year":
88 return (
89 date_type(parsed.year, 1, 1),
90 date_type(parsed.year + 1, 1, 1) - timedelta(microseconds=1),
91 )
92 elif resolution == "month":
93 if parsed.month == 12:
94 end = date_type(parsed.year + 1, 1, 1) - timedelta(microseconds=1)
95 else:
96 end = date_type(parsed.year, parsed.month + 1, 1) - timedelta(
97 microseconds=1
98 )
99 return date_type(parsed.year, parsed.month, 1), end
100 elif resolution == "day":
101 start = date_type(parsed.year, parsed.month, parsed.day)
102 return start, start + timedelta(days=1, microseconds=-1)
103 elif resolution == "hour":
104 start = date_type(parsed.year, parsed.month, parsed.day, parsed.hour)
105 return start, start + timedelta(hours=1, microseconds=-1)
106 elif resolution == "minute":
107 start = date_type(
108 parsed.year, parsed.month, parsed.day, parsed.hour, parsed.minute
109 )
110 return start, start + timedelta(minutes=1, microseconds=-1)
111 elif resolution == "second":
112 start = date_type(
113 parsed.year,
114 parsed.month,
115 parsed.day,
116 parsed.hour,
117 parsed.minute,
118 parsed.second,
119 )
120 return start, start + timedelta(seconds=1, microseconds=-1)
121 else:
122 raise KeyError
123
124
125def get_date_field(datetimes, field):

Calls 1

date_typeFunction · 0.85

Used in the wild real call sites across dependent graphs

searching dependent graphs…