convert cell array into date and time string

5 vues (au cours des 30 derniers jours)
Jorge Luis Paredes Estacio
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.

Réponse acceptée

Karim le 4 Jan 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 commentaire
Jorge Luis Paredes Estacio
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.

Connectez-vous pour commenter.

Plus de réponses (1)

Eric Sofen
Eric Sofen le 4 Jan 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


En savoir plus sur Data Type Conversion dans Help Center et File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by