Преобразование метки времени в секунды - PullRequest
0 голосов
/ 06 июня 2019

У меня есть набор временных меток в этом формате «13: 09: 56.176 ... вплоть до, скажем,« 13: 46: 09.145 ». Я заинтересован в извлечении только секунд, чтобы выходные данные читались от 0 до 2000в секундах. Я не особо обращаю внимание на время начала сбора данных, а только на продолжительность.

Я попытался разбить столбцы в Excel, чтобы извлечь секунды, например 56.176, но не смог их упорядочить.

Ответы [ 3 ]

0 голосов
/ 06 июня 2019

В Excel (который вы упоминаете, но, может быть, вы не ищете решение Excel?):

просто уберите целую часть числа, которое Excel использует для представления даты, и умножьте на (24* 60 * 60) дать секунд.Он будет варьироваться от 1 (00:00:01 до 86399 23:59:59).

Если дата / время указаны в A1, код Excel будет выглядеть следующим образом:

=(A1-ROUNDDOWN(A1,0))*86400
  • все это предполагает, что Excel хранит дату / время правильно, а не как строку.
0 голосов
/ 06 июня 2019

Полагаю, вы можете успешно получить метку времени 1 и метку времени 2 или T1, T2. Теперь вы можете использовать библиотеку datetime в python, чтобы найти разницу. Вот оно:

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

Надеюсь, это поможет

0 голосов
/ 06 июня 2019

В 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...