Title: python 3.8.2: datetime.datetime(1969,1,1).timestamp() yields OSError
Type: behavior Stage: resolved
Components: Library (Lib) Versions: Python 3.8
Status: closed Resolution: duplicate
Dependencies: Superseder: Timestamp conversion on windows fails with timestamps close to EPOCH
View: 37527
Assigned To: Nosy List: Eddie Parker, SilentGhost, belopolsky, p-ganssle
Priority: normal Keywords:

Created on 2020-06-17 06:33 by Eddie Parker, last changed 2020-06-17 19:13 by SilentGhost. This issue is now closed.

Messages (2)
msg371710 - (view) Author: Eddie Parker (Eddie Parker) Date: 2020-06-17 06:33
Running the following yields an unexpected OSError: Invalid argument:

Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> datetime.datetime(1000,1,1).timestamp()
>>> datetime.datetime(1969,1,1).timestamp()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument

I understand that the time can't yield a valid timestamp, but the exception doesn't really explain that and the documentation doesn't mention OSError as an exception to indicate an invalid date is specified.

Ideally a better exception could be used (ValueError?) or the documentation could mention this possibility?  Or even better, allow timestamp() to take a parameter for what to return in the case of an invalid timestamp (None?)

I mention this because I hit this in some asyncio code which was a nuisance to debug and finding it excepting on a timestamp that had worked before with an OS error baffled me until I got it in a debugger.

Thanks as always!
msg371771 - (view) Author: SilentGhost (SilentGhost) * (Python triager) Date: 2020-06-17 19:13
This looks like a duplicate of #37527.
Date User Action Args
2020-06-17 19:13:55SilentGhostsetstatus: open -> closed

superseder: Timestamp conversion on windows fails with timestamps close to EPOCH

nosy: + SilentGhost, p-ganssle, belopolsky
messages: + msg371771
resolution: duplicate
stage: resolved
2020-06-17 06:33:01Eddie Parkercreate