@@ -191,12 +191,13 @@ def _get_rc_timezone():
191
191
DAYS_PER_YEAR = 365.0
192
192
193
193
MINUTES_PER_DAY = MIN_PER_HOUR * HOURS_PER_DAY
194
- SECONDS_PER_DAY = SEC_PER_MIN * MINUTES_PER_DAY
195
- MUSECONDS_PER_DAY = 1e6 * SECONDS_PER_DAY
196
194
197
195
SEC_PER_HOUR = SEC_PER_MIN * MIN_PER_HOUR
198
196
SEC_PER_DAY = SEC_PER_HOUR * HOURS_PER_DAY
199
- SEC_PER_WEEK = SEC_PER_DAY * DAYS_PER_WEEK # Days per week
197
+ SEC_PER_WEEK = SEC_PER_DAY * DAYS_PER_WEEK
198
+
199
+ MUSECONDS_PER_DAY = 1e6 * SEC_PER_DAY
200
+
200
201
MONDAY , TUESDAY , WEDNESDAY , THURSDAY , FRIDAY , SATURDAY , SUNDAY = (
201
202
MO , TU , WE , TH , FR , SA , SU )
202
203
WEEKDAYS = (MONDAY , TUESDAY , WEDNESDAY , THURSDAY , FRIDAY , SATURDAY , SUNDAY )
@@ -219,7 +220,7 @@ def _to_ordinalf(dt):
219
220
220
221
base = float (base )
221
222
if td_remainder > 0 :
222
- base + + td_remainder / SECONDS_PER_DAY
223
+ base + + td_remainder / SEC_PER_DAY
223
224
224
225
return base
225
226
@@ -238,18 +239,8 @@ def _from_ordinalf(x, tz=None):
238
239
ix = int (x )
239
240
dt = datetime .datetime .fromordinal (ix )
240
241
remainder = float (x ) - ix
241
- hour , remainder = divmod (HOURS_PER_DAY * remainder , 1 )
242
- minute , remainder = divmod (MIN_PER_HOUR * remainder , 1 )
243
- second , remainder = divmod (SEC_PER_MIN * remainder , 1 )
244
- microsecond = int (1e6 * remainder )
245
- if microsecond < 10 :
246
- microsecond = 0 # compensate for rounding errors
247
- dt = datetime .datetime (
248
- dt .year , dt .month , dt .day , int (hour ), int (minute ), int (second ),
249
- microsecond , tzinfo = UTC ).astimezone (tz )
250
-
251
- if microsecond > 999990 : # compensate for rounding errors
252
- dt += datetime .timedelta (microseconds = 1e6 - microsecond )
242
+
243
+ dt += datetime .timedelta (seconds = remainder * SEC_PER_DAY )
253
244
254
245
return dt
255
246
@@ -374,7 +365,7 @@ def drange(dstart, dend, delta):
374
365
*dend* are :class:`datetime` instances. *delta* is a
375
366
:class:`datetime.timedelta` instance.
376
367
"""
377
- step = (delta .days + delta .seconds / SECONDS_PER_DAY +
368
+ step = (delta .days + delta .seconds / SEC_PER_DAY +
378
369
delta .microseconds / MUSECONDS_PER_DAY )
379
370
f1 = _to_ordinalf (dstart )
380
371
f2 = _to_ordinalf (dend )
@@ -767,7 +758,7 @@ def get_unit_generic(freq):
767
758
elif (freq == MINUTELY ):
768
759
return (1.0 / MINUTES_PER_DAY )
769
760
elif (freq == SECONDLY ):
770
- return (1.0 / SECONDS_PER_DAY )
761
+ return (1.0 / SEC_PER_DAY )
771
762
else :
772
763
# error
773
764
return - 1 # or should this just return '1'?
0 commit comments