阅读日期向量与不同的格式:Matlab

时间:2014-07-10 07:05:18

标签: matlab date

考虑日期date = { 1000000 x 1 }的单元格数组,使其具有不同格式的日期。

 date = 27-01-2009
        28-Mar-2003
            .
            .
            .
        21-02-2003 06:35:20
        21-02-2003 06:35:20.42
            .
            .
         and so on

如何从100000x3获取A = [ year month day ]矩阵date

1 个答案:

答案 0 :(得分:2)

方法1

date = {
    '27-01-2009'
    '28-Mar-2003'
    '21-02-2003 06:35:20'
    '21-02-2003 06:35:20.42'}

date_double_arr = datevec(date,'dd-mm-yyyy')
out = date_double_arr(:,1:3) %// desired output

输出 -

out =
        2009           1          27
        2003           3          28
        2003           2          21
        2003           2          21

方法2

如果日期 - 月 - 年和时间之间存在不一致,可能需要分离前一组并使用它们来获得最终的Nx3数组 -

t1 = cellfun(@(x) strsplit(x,' '), date,'uni',0)
t2 = cellfun(@(x) x(1), t1)
t3 = datevec(t2,'dd-mm-yyyy')
out = t3(:,1:3) %// desired output