Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Convertir vector de fecha devuelve salida inesperada

Dado que un vector de fecha es un vector de 1 por 6 de números, puede interpretar los vectores de fecha de entrada como vectores de números de fecha de serie, o viceversa, y devolver resultados inesperados.datestr

Considere un vector de fecha que incluye el año 3000. Este año está fuera del intervalo de años que interpreta como elementos de vectores de fecha.datestr Por lo tanto, la entrada se interpreta como un vector de 1 por 6 de números de fecha de serie:

datestr([3000 11 05 10 32 56])  ans =  18-Mar-0008 11-Jan-0000 05-Jan-0000 10-Jan-0000 01-Feb-0000 25-Feb-0000

Aquí interpreta 3000 como un número de fecha en serie y lo convierte en la cadena de fecha.datestr'18-Mar-0008' Además, convierte los cinco elementos siguientes en cadenas de fecha.datestr

Al convertir un vector de fecha a un vector de caracteres, primero conviértalo a un número de fecha serial usando.datenum A continuación, convierta el número de fecha a un vector de caracteres utilizando:datestr

dn = datenum([3000 11 05 10 32 56]); ds = datestr(dn)  ds =  05-Nov-3000 10:32:56

Al convertir fechas en vectores de caracteres, interpreta la entrada como vectores de fecha o números de fecha de serie mediante una regla heurística.datestr Considere la posibilidad de una matriz de-por-6. interpreta la matriz como vectores de fecha cuando:mdatestrm

  • Las primeras cinco columnas contienen enteros.

  • El valor absoluto de la suma de cada fila está en el rango de 1500 – 2500.

Si cualquiera de las condiciones es falsa, para cualquier fila, a continuación, interpreta la matriz-por-6 números de fecha serie como-por-6.datestrmm

Normalmente, las fechas con años en el rango 1700 – 2300 se interpretan como vectores de fecha. Sin embargo, puede interpretar las filas con valores de mes, día, hora, minuto o segundo fuera de sus rangos normales como números de fecha de serie.datestr Por ejemplo, interpreta correctamente el siguiente vector de fecha para el año 2014:datestr

datestr([2014 06 21 10 51 00])  ans =  21-Jun-2014 10:51:00 

Pero dado un valor de día fuera del rango típico (1 – 31), devuelve una fecha para cada elemento del vector:datestr

datestr([2014 06 2110 10 51 00])  ans =  06-Jul-0005 06-Jan-0000 10-Oct-0005 10-Jan-0000 20-Feb-0000 00-Jan-0000

Cuando tiene una matriz de vectores de fecha que podrían interpretar incorrectamente como números de fecha de serie, primero convierta la matriz en números de fecha de serie utilizando.datestrdatenum A continuación, se utiliza para convertir los números de fecha.datestr

Cuando tenga una matriz de números de fecha de serie que puedan interpretar como vectores de fecha, primero convierta la matriz en un vector de columna.datestr A continuación, se utiliza para convertir el vector de columna.datestr