Uso DATESTR
>> datestr(40189)
ans =
12-Jan-0110
Desafortunadamente, Excel empieza a contar en 1-Ene-1900. Averiguar cómo convertir fechas de serie de Matlab para Excel utilizando DATENUM
>> datenum(2010,1,11)
ans =
734149
>> datenum(2010,1,11)-40189
ans =
693960
>> datestr(40189+693960)
ans =
11-Jan-2010
En otras palabras, para convertir cualquier fecha de serie Excel, llame
datestr(excelSerialDate + 693960)
EDITAR
Para obtener el fecha en formato mm/dd/aaaa, llame al datestr
con el formato especificado
excelSerialDate = 40189;
datestr(excelSerialDate + 693960,'mm/dd/yyyy')
ans =
01/11/2010
Además, si usted quiere deshacerse del cero para el mes, puede utilizar REGEXPREP de arreglar las cosas
excelSerialDate = 40189;
regexprep(datestr(excelSerialDate + 693960,'mm/dd/yyyy'),'^0','')
ans =
1/11/2010
bien .. Voy a tratar de que fuera :) – mtlb
Tenga en cuenta que algunos archivos de Excel comienzan su época en 1904, no en 1900. (Consulte http://support.microsoft.com/kb/180162) Si está escribiendo un código de conversión de fecha genérico de Excel/Matlab, deberá probar o proporcionar una entrada para indicar el caso especial de 1904. La compensación de datenum es 695422 para 1904 archivos de época de Excel. –
@Andrew Janke: Gah! Muchas gracias por señalar esto. – Jonas