【问题标题】:How to import dates into MATLAB如何将日期导入 MATLAB
【发布时间】:2015-10-02 23:02:35
【问题描述】:

我正在使用 MATLAB R2015b。我正在尝试使用xlsread('filename.xls') 导入一个充满日期的 excel 文件。日期如下所示:

02/01/1996
03/01/1996
04/01/1996
05/01/1996
08/01/1996

然后我想使用 datevec 来分隔日月和年。对于日期 = '02/01/1996'(1996 年 1 月 2 日),datevec 给出Y= 1996, M = 2, D= 1,H=0 MN=0 S=0。对于日期“29/12/2000”(2000 年 12 月 29 日),datevec 给出Y = 35, M=5 D =23 H=0 MN=0 S=0。 我试图在excel中更改日期格式,但它仍然不起作用。谁能告诉我如何解决这个问题?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    DateVector = datevec(DateString,formatIn)

    根据documentation。正确设置formatIn

    DateString = {'16/09/2007';'14/05/1996';'29/11/2010'};
    formatIn = 'dd/mm/yyyy';
    datevec(DateString,formatIn)
    

    由于 MATLAB 是一个美国程序,所有它们的默认值都是美国程序(因此您无法随意调用 colourbar)。您只需选择不同的日期格式。

    【讨论】:

    • 非常感谢。有用。但是有没有办法在我导入时定义日期的格式?我使用 [ddata,dnames]=xlsread('filename') 导入数据,然后使用 date=dnames(:,1) 定义日期。有没有办法在这里告诉matlab日期的格式?
    • 你定义date的方式是字符串,根据MATLAB没有格式。当您将其解析为其他函数(例如 datevecdatenum)时,您必须指定格式。使用datestr 回到字符串还允许您指定格式。
    • 嗨阿德里安。感谢您的回答。这真的很有帮助。但是我这里还是有一些问题。在我使用 [ddata,dnames]=xlsread('Filename') 加载数据并使用 date=dnames(end,1) 读取日期之后。然后我需要使用这个日期做一些计算。但是,Matlab 无法识别该日期的正确格式。请教我如何让 matlab 知道日期是 dd/mm/yyyy。
    • 我刚刚向您展示了在我的回答中指定formatIn。阅读所有格式选项和更多示例的文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多