将单元格结构中的数值数据转换为时间戳(HH:MM:SS)MATLAB

时间:2016-08-24 15:04:02

标签: excel matlab date

我已将Excel电子表格导入MATLAB,其中包含一列我想要提取的时间戳。但是,由于Excel将时间戳存储为数字数据,导入的单元格现在采用非字符串格式,如0.4479,0.4480等。是否有快速方法将所有单元格转换为HH:MM:SS格式?

2 个答案:

答案 0 :(得分:1)

是的,datestr可以轻松处理这个问题。

假设:

numericCellData = {0.4479 0.4480}

使用:

datestr(cell2mat(numericCellData),'HH:MM:SS')

我们在做什么:

  1. 使用cell2mat函数将单元格数组转换为更典型的数字数组。这就是主力datestr所期望的。

  2. datestr函数用于执行这种精确的转换类型,从数字时间到字符串表示。

  3. 您的示例是一个有趣的特定情况,您的值可能仅表示时间(所有值均小于1;您要求HH:MM:SS格式)。对于更一般的情况,将数字日期和时间数据从Excel转换为Matlab,通常需要调整使用的日期偏移量:

    • Matlab日期编号:以天为单位,通常为双精度,0值代表1月0日0000。(想想,新时代前夕是一个时代当罗马帝国是欧洲的主要政治实体时,由尚未开发的格里高利历表示。)

    • Excel日期编号:也以天为单位。然而,数字0代表1900年1月0日。(或者,新年前夕,1899年)。这是Matlab系统中的693961,有时您需要进行调整。

答案 1 :(得分:0)

选择列>右键单击>格式化单元格>数字标签>选择类别下的时间>选择类型,然后单击确定