【问题标题】:2 months UNIX timestamp2 个月 UNIX 时间戳
【发布时间】:2021-10-18 03:04:53
【问题描述】:

我正在尝试从需要开始日期和当前日期的 API 以 Epoch Unix 时间戳格式检索历史每日数据。 API 需要这个:

data = client.get_historical_data('A-B', '1day', startDate, endDate)

endDate 必须是现在(我运行脚本的那一刻),startDate 必须比 endDate 早 x 个月。

我绝对不是 Python 专家,脚本可以工作,但我需要帮助了解如何使用 Epoch Unix 时间戳正确声明 endDatestartDate 变量,以便我可以检索特定时期的数据我需要。

非常感谢!

【问题讨论】:

    标签: python unix timestamp unix-timestamp


    【解决方案1】:

    使用python日期时间https://docs.python.org/3/library/datetime.html

    from datetime import datetime
    from dateutil.relativedelta import relativedelta
    
    end = datetime.today()
    start = end - relativedelta(months=2)
    
    startDate = int(start.timestamp())
    endDate = int(end.timestamp())
    

    看看datetimetimedelta对象,很有用。

    我按照 MrFuppes 的建议将 timedelta 替换为 relativedelta

    【讨论】:

    • 60 天并不是 n 个月的准确表示。可能会建议 OP 使用 dateutil 的 relativedelta 来获得它。
    • 谢谢@MrFuppes,我不知道relativedelta。
    • 试一试,并随时将其添加到您的答案中:)
    • 尽管 pip3 install datetime 它在库中给了我一个错误:“没有名为'datetime.relativedelta'的模块;'datetime'不是一个包”
    • @li_Marti 示例已修复,正确导入为 from dateutil import relativedelta
    猜你喜欢
    • 2012-04-17
    • 2015-10-11
    • 1970-01-01
    • 2012-03-17
    • 2018-04-05
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多