convert cell array into date and time string

12 visualizaciones (últimos 30 días)
Hello, I have the following cell (1x6) that will be extracted from different text files of accelerometers records. For example:
date_hne =
1×6 cell array
{'2014'} {'04'} {'01'} {'23'} {'46'} {'44.998300'}
I would like to convert it into a string to recognize date and time like 2014-04-01 23:46:45
I would appreciate your help.

Respuesta aceptada

Karim
Karim el 4 de En. de 2023
See below for one method on how to do this
% reconstruct the cell array from the OP
date_hne = {'2014' '04' '01' '23' '46' '44.998300'}
date_hne = 1×6 cell array
{'2014'} {'04'} {'01'} {'23'} {'46'} {'44.998300'}
% concat the data and convert into a string
date_hne_string = string([date_hne{:}])
date_hne_string = "20140401234644.998300"
% convert into a datetime
date_hne_dt = datetime(date_hne_string, 'InputFormat', 'yyyyMMddHHmmss.SSSSSS')
date_hne_dt = datetime
01-Apr-2014 23:46:44
  1 comentario
Jorge Luis Paredes Estacio
Jorge Luis Paredes Estacio el 4 de En. de 2023
Thank you very much. How would be the case for this string:
'2021-04-23T17:00:19.860000Z' or '2021-04-23T17:00:19Z' to convert it into 2021/04/23 17:00:19. A general command should be applied because sometimes the amount of decimals in the seconds may vary.

Iniciar sesión para comentar.

Más respuestas (1)

Eric Sofen
Eric Sofen el 4 de En. de 2023
As much as I love string, there's no need to do an extra type conversion. Just concatenate the elements of the cell into a char vector and pass that directly to datetime.
C = {'2014','04','01','23','46','44.998300'};
d = datetime([C{:}],"InputFormat","uuuuMMddHHmmss.SSSSSS")
d = datetime
01-Apr-2014 23:46:44

Categorías

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

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by