2017-05-25 5 views
0

Ich habeWie ändere ich mein Datumsformat in 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 

ich die Ausgänge dd-mmm-yyyy-yyyy-mm-dd ändern möchten. Wie geht das?

Antwort

2

Wenn Sie bei the documentation Sie schauen werden sehen, dass datetime Objekte haben eine Format Eigenschaft, die das Anzeigeformat steuert:

>> 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

Danke. Das hat perfekt funktioniert. – Mfj

-1

Eine Möglichkeit ist, datenum-, dann zurück zu datestr zu konvertieren:

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

Vielen Dank, aber es hat Fehler: Fehler bei Verwendung von datetime/datenum Zu viele Eingabeargumente. Fehler in (Zeile 25) newFmt = datstr (datenum, 'TT-MMM-JJJJ'), 'JJJJ-MM-TT') – Mfj

+0

Das liegt daran, dass Sie mit einer Daten nach dem anderen umgehen müssen, anstatt es zu übergeben eine ganze Reihe von Daten. Verwenden Sie eine for-Schleife, um durch jede zu gehen. Übrigens hast du eine Frage gestellt, die gelöscht wurde? War mit dem Tag des Jahres zu tun. – scotty3785

+0

Passing alle (Char Array oder Zelle) funktioniert für mich. Vielleicht ist es Matlab Version Unterschied? –

Verwandte Themen