如何将API返回的Unix时间戳转换为与当前时间相差的秒数
Unix时间戳与当前时间秒差计算方案
核心逻辑
Unix时间戳本身就是从1970-01-01 00:00:00 UTC开始计算的秒级计数值,无需转换为人类可读格式,直接和当前时间的Unix时间戳做算术减法即可得到秒级差值:
差值秒数 = 当前时间Unix时间戳 - 给定的API返回时间戳
- 差值为正:给定时间在当前时间之前
- 差值为负:给定时间在当前时间之后
各常用环境实现示例
Python
使用标准库time即可完成,无需安装第三方依赖:
import time api_return_ts = 1634578318 current_ts = time.time() diff_seconds = current_ts - api_return_ts # 如需整数结果可转换为int:diff_seconds = int(current_ts - api_return_ts)
JavaScript(浏览器/Node.js通用)
注意JS原生时间接口默认返回毫秒级时间戳,需要先转换为秒级:
const apiReturnTs = 1634578318 const currentTs = Math.floor(Date.now() / 1000) const diffSeconds = currentTs - apiReturnTs
Bash/Shell
直接调用系统自带date命令即可:
api_return_ts=1634578318 current_ts=$(date +%s) diff_seconds=$((current_ts - api_return_ts))
边界说明
如果你的API返回的是毫秒级Unix时间戳,需要先将其除以1000转换为秒级后再做差值计算,避免结果出现量级偏差。
内容的提问来源于stack exchange,提问作者Jason Y
相关产品推荐
相关产品推荐

