You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取纪元(1970-01-01)起datetime格式天数及FatSecret API适配问题

解决纪元天数计算与FatSecret API dateint格式问题

我来帮你搞定这两个问题,刚好之前对接FatSecret API时也踩过类似的日期坑!

1. 获取datetime从纪元开始的天数

要计算从1970年1月1日到指定datetime的天数,核心是用datetime对象之间的减法得到时间差,再提取天数部分:

import datetime

# 定义纪元起始时间(必须是datetime对象)
epoch_start = datetime.datetime(1970, 1, 1)
# 获取当前时间(或你需要的任意datetime)
current_datetime = datetime.datetime.now()

# 计算时间差(得到timedelta对象)
time_diff = current_datetime - epoch_start
# 提取完整天数(整数类型)
days_since_epoch = time_diff.days

print(days_since_epoch)  # 比如输出:17643(对应2018-04-23)

这个方法直接操作datetime对象,不会出现类型不匹配的问题,得到的days_since_epoch就是纯整数天数。

2. FatSecret API的dateint格式适配

你提到的dateint格式,本质就是从纪元开始的天数整数,刚好就是上面代码得到的days_since_epoch。

至于你遇到的TypeError: unsupported operand type(s) for -: 'float' and 'datetime.datetime',大概率是不小心把time.time()(返回纪元以来的秒数浮点数)和datetime.datetime对象做减法了——这两种类型不能直接运算!一定要保证相减的两边都是datetime对象,就像上面的示例那样。

把计算好的days_since_epoch直接传给FatSecret API的dateint参数就可以了,不用转成秒数,这就是API要求的格式。

内容的提问来源于stack exchange,提问作者Brando

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:54:17