我已将Excel电子表格导入MATLAB,其中包含一列我想要提取的时间戳。但是,由于Excel将时间戳存储为数字数据,导入的单元格现在采用非字符串格式,如0.4479,0.4480等。是否有快速方法将所有单元格转换为HH:MM:SS格式?
答案 0 :(得分:1)
是的,datestr
可以轻松处理这个问题。
假设:
numericCellData = {0.4479 0.4480}
使用:
datestr(cell2mat(numericCellData),'HH:MM:SS')
我们在做什么:
使用cell2mat
函数将单元格数组转换为更典型的数字数组。这就是主力datestr
所期望的。
datestr
函数用于执行这种精确的转换类型,从数字时间到字符串表示。
您的示例是一个有趣的特定情况,您的值可能仅表示时间(所有值均小于1;您要求HH:MM:SS格式)。对于更一般的情况,将数字日期和时间数据从Excel转换为Matlab,通常需要调整使用的日期偏移量:
Matlab日期编号:以天为单位,通常为双精度,0
值代表1月0日0000。(想想,新时代前夕是一个时代当罗马帝国是欧洲的主要政治实体时,由尚未开发的格里高利历表示。)
Excel日期编号:也以天为单位。然而,数字0代表1900年1月0日。(或者,新年前夕,1899年)。这是Matlab系统中的693961,有时您需要进行调整。
答案 1 :(得分:0)
选择列>右键单击>格式化单元格>数字标签>选择类别下的时间>选择类型,然后单击确定