converting yyyymmdd date to matlab date number

33 visualizaciones (últimos 30 días)
joseph Frank
joseph Frank el 26 de Jul. de 2011
Comentada: Victor Martinez el 26 de Mayo de 2022
I have a column of dates that have the following format: 19940127 how can i get a matlab number that corresponds to 01/27/1994?

Respuesta aceptada

Andrew Newell
Andrew Newell el 26 de Jul. de 2011
For each date, use a command like this:
datestr(datenum('19940127','yyyymmdd'),'mm/dd/yyyy')
  2 comentarios
Elias de Korte
Elias de Korte el 1 de Abr. de 2019
What if I have an time vector that looks like this: 2011021101 (yyyymmddHH). How can i convert this vector to matlab serial numbers?
Peter Perkins
Peter Perkins el 2 de Abr. de 2019
See Steve Lord's answer. If you have a numeric value, you will need to strip off the hours and divide by 100. If you have text, just use a different format - yyyyMMddHH.

Iniciar sesión para comentar.

Más respuestas (2)

Jan
Jan el 27 de Jul. de 2011
If "19940127" is a string, this is much faster than the DATESTR/DATENUM approach:
S = '19940127';
D = [S(5:6), '/', S(7:8), '/', S(1:4)];
If the input is a number, convert it to a string at first:
N = 19940127;
S = sprintf('%d', N);

Steven Lord
Steven Lord el 1 de Abr. de 2019
Is that stored as a number or as text? If it is stored as a number, use datetime with the appropriate ConvertFrom option.
d = 19940127;
dt = datetime(d, 'ConvertFrom', 'yyyymmdd')
If it is stored as text, specify the InputFormat.
d = '19940127';
dt = datetime(d, 'InputFormat', 'yyyyMMdd')
  3 comentarios
Stephen23
Stephen23 el 26 de Mayo de 2022
Editada: Stephen23 el 26 de Mayo de 2022
I would like to know if having my date and time of a whole year stored all together as a numeric value in a column vector (f example: 201801010205 yyyymmddHHMM being that 01-Jan-2018 02:05)"
Best avoided: it would be better if you created or imported that directly as DATETIME, or even as text. Note that functions such as READTABLE provide a lot of control over importing, so there is little reason for the misuse of numeric type like that.
N = 201801010205;
D = datetime(string(N),'inputFormat','yyyyMMddHHmm')
D = datetime
01-Jan-2018 02:05:00
Victor Martinez
Victor Martinez el 26 de Mayo de 2022
Thank you Stephen ! importing the column with the date and time as text instead of number and then converting it to datetime with the proper format as you wrote worked perfectly.
Again, thanks for your time and help.

Iniciar sesión para comentar.

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by