This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: timedelta(seconds=x) strange results when type(x) == np.int32
Type: behavior Stage: resolved
Components: Extension Modules Versions: Python 2.7
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: ZackerySpytz, belopolsky, mark.dickinson, p-ganssle
Priority: normal Keywords:

Created on 2018-07-02 13:43 by mark.dickinson, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (2)
msg320884 - (view) Author: Mark Dickinson (mark.dickinson) * (Python committer) Date: 2018-07-02 13:43
On Python 2.x on Windows, creating a timedelta with an `np.int32` instance for the number of seconds can (somewhat) silently give wrong results.

Enthought Deployment Manager -- https://www.enthought.com
Python 2.7.13 |Enthought, Inc. (x86_64)| (default, Mar  2 2017, 16:05:12) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import datetime
>>> datetime.timedelta(seconds=np.int32(123456789))
__main__:1: RuntimeWarning: overflow encountered in long_scalars
datetime.timedelta(-1, 84354, 76480)

There's at least a warning from NumPy there as NumPy attempts to scale the np.int32 by 10**6, but depending on settings and on how the code is invoked, the user may not see that warning.

This is not an issue on Python 3.x / Windows or on Python 2.x / Unix; in both those cases, the same code gives a TypeError.

This is related to, but not the same as, #5476.

This may well count as a "won't fix", but it seemed at least worth reporting.
msg370939 - (view) Author: Zackery Spytz (ZackerySpytz) * (Python triager) Date: 2020-06-08 00:28
Python 2 is EOL, so I think this issue should be closed.
History
Date User Action Args
2022-04-11 14:59:02adminsetgithub: 78204
2020-06-08 03:21:04methanesetstatus: open -> closed
resolution: out of date
stage: resolved
2020-06-08 00:28:20ZackerySpytzsetnosy: + ZackerySpytz
messages: + msg370939
2018-07-05 15:12:59p-gansslesetnosy: + p-ganssle
2018-07-02 15:46:29mark.dickinsonsetnosy: + belopolsky
2018-07-02 13:43:51mark.dickinsoncreate