时间戳转换为秒

时间:2019-06-06 07:24:36

标签: python excel matlab

我有一组时间戳,格式为“ 13:09:56.176 ...直到说” 13:46:09.145”。我只想提取秒,以便输出从0读到2000秒。 我不是很在乎数据捕获的开始时间,而是持续时间。

我尝试在Excel中拆分列以提取秒数,例如56.176,但无法对其进行排序。

3 个答案:

答案 0 :(得分:0)

在matlab中,您可以执行以下操作:

frmt='HH:MM:SS.FFF'; 
t0=datenum('13:00:00.000',frmt); %define t0 (first sample?)
seconds=24*3600*(datenum('13:09:56.176',frmt)-t0);

在excel中,您只需在结果列中输入公式=(A2-$A$1)*24*3600(假设Col A是输入列,并且t0 = A1)

答案 1 :(得分:0)

在excel中(您提到过,但也许您不是在寻找excel解决方案?):

只需去除excel用于表示日期的数字的整数部分,然后乘以(24 * 60 * 60)即可得到秒数。范围为1(00:00:01至86399 23:59:59)。

如果日期/时间在A1中,则excel代码看起来像

=(A1-ROUNDDOWN(A1,0))*86400
  • 所有这一切都假定excel正确存储了日期/时间,而不是字符串。

答案 2 :(得分:0)

我假设您可以成功获取时间戳1和时间戳2,或T1,T2。现在,您可以在python中使用datetime库来查找差异。在这里:

from datetime import datetime
#Setting format of Time. For Insight, Refer  
#https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior 
fmt = '%H:%M:%S.%f'

t1 = datetime.strptime('13:01:00.001', fmt)
t2 = datetime.strptime('13:02:00.002', fmt)

td = t2 - t1

print(td.total_seconds())
#60.001

希望有帮助