|
|
|
|
|
by zokier
859 days ago
|
|
You need to account for leap seconds literally any time you are mixing durations/timedeltas with instants/datetimes, otherwise you will get wrong answer. Also needed whenever you parse ISO8601/RFC3339 style strings. For example this (correct) timestamp fails to parse: >>> UTCDateTime.from_rfc3339('1998-12-31T23:59:60Z')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/tmp/tmp.4kBsq6IYyF/venv/lib/python3.11/site-packages/whenever/__init__.py", line 797, in from_rfc3339
return cls._from_py_unchecked(_parse_utc_rfc3339(s))
^^^^^^^^^^^^^^^^^^^^^
File "/tmp/tmp.4kBsq6IYyF/venv/lib/python3.11/site-packages/whenever/__init__.py", line 2420, in _parse_utc_rfc3339
return _fromisoformat(s.upper())
^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: second must be in 0..59
|
|