0
import pandas as pd
import datetime

def open_csv(path):
    try:
        df = pd.read_csv(path)
        return df
    except FileNotFoundError:
        print("ERR: FileNotFoundError", path)


data = open_csv("historical/BNBBTC")
for d in data["Open_time"]:
    print(d)
    print(type(d))
    print(datetime.datetime.fromtimestamp(d).strftime('%Y-%m-%d %H:%M:%S'))

错误: 1514764800000 Traceback (most recent call last): <class 'int'> File "D:/bot/add_data.py", line 16, in <module> print(datetime.datetime.fromtimestamp(d).strftime('%Y-%m-%d %H:%M:%S')) OSError: [Errno 22] Invalid argument

我不明白是什么问题?如果 b = int ("1514764800000") 那么一切正常!

4

3 回答 3

1

有点晚了,但你的问题是时间戳以毫秒为单位,像这样转换它:

        milliSeconds = timestamp % 1000
        timestamp = timestamp / 1000
        converted = datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S') + f".{milliSeconds}"
于 2020-10-11T12:07:03.567 回答
0

import time并替换datetime.datetime.fromtimestamp(d).strftime('%Y-%m-%d %H:%M:%S')time.strftime('%Y-%m-%d %H:%M:%S')

于 2018-12-18T10:26:21.610 回答
0
def epoch_to_date(epoch_time):
    time_stamp = epoch_time / 1000
    date_time = datetime.datetime.fromtimestamp(time_stamp).strftime('%Y-%m-%d %H:%M:%S')
    print(date_time)
    return date_time


epoch_time = epoch_to_date(epoch_time)
于 2022-01-05T11:30:35.603 回答