Matlab 如何计算从Excel导入的时间值?

Matlab 如何计算从Excel导入的时间值?,matlab,time,Matlab,Time,我在Excel中有以下值: 睡觉时间19:34:00 起床时间07:04:00 睡觉时间11:30:00 睡眠开始19:42:00 睡眠结束07:00:00 我想把它们导入MATLAB,对这些时间值做一些计算,比如减法。导入后,时间值如下所示: 0.8153 0.2944 0.4792 0.8208 0.2917 显然,对它们进行计算是毫无意义的。有人能帮我解决这个问题吗?我已经坚持了几天,但没有任何进展 提前感谢,正如亚西尔亚斯指出的那样,这是几天的零头。您可以使用该函数方便地将其转换

我在Excel中有以下值:

  • 睡觉时间19:34:00
  • 起床时间07:04:00
  • 睡觉时间11:30:00
  • 睡眠开始19:42:00
  • 睡眠结束07:00:00
我想把它们导入MATLAB,对这些时间值做一些计算,比如减法。导入后,时间值如下所示:

  • 0.8153
  • 0.2944
  • 0.4792
  • 0.8208
  • 0.2917
显然,对它们进行计算是毫无意义的。有人能帮我解决这个问题吗?我已经坚持了几天,但没有任何进展


提前感谢,

正如亚西尔亚斯指出的那样,这是几天的零头。您可以使用该函数方便地将其转换为具有格式选项的可读字符串

e、 g:

之前可以对原始值进行减法等计算 转换

例如:获得睡眠时间

start = 0.8208
stop = 0.2917

datestr(stop-start, 'HH:MM')

ans =
11:18

甚至适用于跨越午夜的时间间隔。

这些都是几天的分数-例如,睡眠结束=7am=7/24=0.291666。。。您可以使用基本的算术运算将数字转换回小时/分钟/秒。@assylias似乎没有我可以找到的MATLAB标记的重复项,你能把这个作为一个答案吗?@excaza我对matlab了解不多,所以我不知道如何用代码来表达——请随意发布答案。你可以用(
datestr(0.8208,'HH:MM:SS')将数字重新转换成字符串。当然,用数字进行计算更方便。
start = 0.8208
stop = 0.2917

datestr(stop-start, 'HH:MM')

ans =
11:18