2017-05-25 120 views
0

如何在matlab中更改我的日期格式?

num4 = xlsread('dat.xlsx', 1, 'A:B'); 
    dnum4=datetime(num4(:,1),1,1) + caldays(num4(:,2)); 

dnum4= 
    16-Jul-2008 
    18-Jul-2008 
    06-Aug-2008 
    08-Aug-2008 
    13-Aug-2008 
    15-Aug-2008 
    20-Aug-2008 
    22-Aug-2008 
    30-Oct-2008 

我想輸出改變從dd-mmm-yyyyyyyy-mm-dd。 如何做到這一點?

回答

2

如果你看看the documentation你會看到datetime對象都有一個Format屬性,控制顯示格式:

>> t = datetime('now','TimeZone','local','Format','d-MMM-y HH:mm:ss Z') 

t = 

    datetime 

    25-May-2017 10:26:46 -0400 


>> t.Format = 'yyyy-MM-dd' 

t = 

    datetime 

    2017-05-25 
+0

謝謝。這工作完美。 – Mfj

-1

的一種方法是將轉換爲datenum,然後回到datestr:

newFmt = datestr(datenum(dnum4, 'dd-mmm-yyyy'), 'yyyy-mm-dd') 
+0

謝謝,但它有錯誤: 使用datetime/datenum時出錯 輸入參數太多。 錯誤(行25) newFmt = datestr(datenum(dnum,'dd-mmm-yyyy'),'yyyy-mm-dd') – Mfj

+0

這是因爲您需要處理一個數據而不是傳遞數據一整組日期。使用for循環來遍歷每一個。 順便說一下,你問一個被刪除的問題?是與一年中的一天做.. – scotty3785

+0

傳遞所有(字符數組或單元格)爲我工作。也許這是Matlab版本的區別? –