python 在 OS 级别给出无效参数错误

python gives invalid argument error on OS level

我有这段代码:

symbol = 'PSTV'
end_point="https://api.polygon.io/v2/snapshot/locale/us/markets/stocks/tickers/"+symbol+"?apiKey=my_key"
            
a_json=requests.get(end_point).json()
if a_json['status'] == 'OK':
    candle_open  = a_json['ticker']['min']['o']
    candle_close = a_json['ticker']['min']['c']
    candle_high  = a_json['ticker']['min']['h']
    candle_low   = a_json['ticker']['min']['l']        
    candle_ts    = a_json['ticker']['lastQuote']['t']
    print(candle_ts/1000000)
    candle_ts = datetime.fromtimestamp(candle_ts/1000000).strftime('%Y-%m-%d %H:%M:%S')        
    print("OK")

我正在尝试将时间戳转换为可读格式,如下所示:

candle_ts    = a_json['ticker']['lastQuote']['t'] #get the timestamp
print(candle_ts/1000000)
candle_ts = datetime.fromtimestamp(candle_ts/1000000).strftime('%Y-%m-%d %H:%M:%S')

印刷品是:1644529277457.4104

我不知道为什么,但错误是:

    candle_ts = datetime.fromtimestamp(candle_ts/1000000).strftime('%Y-%m-%d %H:%M:%S')        
OSError: [Errno 22] Invalid argument

为什么我会收到如此异常的错误?

candle_ts 的值超出范围,您可以在下面的示例脚本中看到。最大限制是 5138 年,大约只有 11 位数字。您的 candle_ts 值为 13 位数字。

from datetime import datetime
candle_ts = 1644529277457.4104
try:
    candle_ts = datetime.fromtimestamp(candle_ts).strftime('%Y-%m-%d %H:%M:%S')
    print(candle_ts)
except Exception as e:
    print(e)

Result:
 year 54083 is out of range