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

如何将pandas._libs.tslibs.timestamps.Timestamp转换为距午夜的秒数?

Pandas中计算Timestamp距当日午夜的秒数(快捷实现)

首先,你提到的示例结果对应的是距当日午夜的秒数(而非前一日午夜,否则结果应为24*3600 + 25204.85 = 108004.85),以下是Pandas中的两种快捷实现方式:

  • 方法一:提取时间部分计算总秒数
    直接调用Timestamp对象的time()方法获取当日时间片段,再通过total_seconds()得到秒数:

    import pandas as pd
    
    ts = pd.Timestamp('2016-01-01 07:00:04.85+00:00')
    seconds = ts.time().total_seconds()
    # 结果:25204.85
    
  • 方法二:计算与当日午夜的时间差
    先通过floor('D')获取当日午夜的Timestamp,再计算时间差并提取总秒数:

    seconds = (ts - ts.floor('D')).total_seconds()
    # 结果:25204.85
    

如果确实需要计算距前一日午夜的秒数,只需在当日午夜的基础上减去一天:

prev_midnight = ts.floor('D') - pd.Timedelta(days=1)
seconds_since_prev_midnight = (ts - prev_midnight).total_seconds()
# 结果:108004.85

最后,如果需要将结果转为int类型(注意会丢失小数部分),直接用int(seconds)即可,比如int(25204.85)会得到25204。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:25:21