使用特定的日期格式按日期排序表matlab



我得到了这个表,我想按照其中一列中的日期对行进行排序,这个表基本上看起来是这样的:

label1     01/12/2020     500     Type2;
label1     26/11/2020     553     Type1;
label2     01/01/2021     951     Type3;
label2     18/12/2019     658     Type3;
label1     01/12/2020     500     Type2;

当我使用排序行时,它按格式MM-dd-yyyy对表进行排序,尽管我需要将其更改为dd-MM-yyyy所以表格最终会是这样的:

label2     18/12/2019     658     Type3;
label1     26/11/2020     553     Type1;
label1     01/12/2020     500     Type2;
label1     01/12/2020     500     Type2;
label2     01/01/2021     951     Type3;

请帮忙解决这个

您最好将时间戳数据转换为datetime。在这种情况下,datetime构造函数可以自动计算出格式,因此您只需要以下内容:

% Create table
t = table(["label1"; "label1"; "label2"], ...
["01/12/2020"; "26/11/2020"; "01/01/2021"], ...
[500; 553; 951], ...
["Type2"; "Type1"; "Type3"]);
% Convert Var2 into datetime format
t.Var2 = datetime(t.Var2);
% Now use sortrows
sortrows(t, 2)

这给出了的结果

3×4 table
Var1         Var2        Var3     Var4  
________    ___________    ____    _______
"label1"    26-Nov-2020    553     "Type1"
"label1"    01-Dec-2020    500     "Type2"
"label2"    01-Jan-2021    951     "Type3"

相关内容

  • 没有找到相关文章

最新更新