How to get string that uses datetime Format property?

4 visualizaciones (últimos 30 días)
Bruce Elliott
Bruce Elliott el 28 de Sept. de 2015
Comentada: Bruce Elliott el 28 de Sept. de 2015
Note: I posted this question to the newsgroup as well. I'm not sure which is the more appropriate forum.
Is there a way to get string variable that is equivalent to the output of the disp method for a datetime object, which is written to the command line interface? I'd like to print formatted strings from datetime arrays to a file, but fprintf says that it is not defined for datetime inputs.
  1 comentario
Guillaume
Guillaume el 28 de Sept. de 2015
forum and newsgroup are as appropriate. Use whichever you prefer or both.

Iniciar sesión para comentar.

Respuesta aceptada

Guillaume
Guillaume el 28 de Sept. de 2015
The way to convert a datetime into a string according to the datetime Format attribute is actually very simple: Use char
d = datetime;
s1 = char(d)
d.Format = 'uuuu-MM-dd''T''HH:mm:ss';
s2 = char(d)
The documentation of datetime (accessed through doc datetime) is actually not very good as it does not tell you all the methods of the datetime object. However you can see all of them with
help datetime
  1 comentario
Bruce Elliott
Bruce Elliott el 28 de Sept. de 2015
Thank you, Guillaume! I had thought there must be an easy way to do this, since the formatted strings are clearly available. Thanks also for the tip to check the help text for datetime - I had been relying heavily on the documentation since I'm still learning about the datetime class.

Iniciar sesión para comentar.

Más respuestas (1)

Peter Perkins
Peter Perkins el 28 de Sept. de 2015
Bruce, in your C.S-S.M post, you said, "write data and labels to a file". It's worth noting that if you have everything in a table, writetable will automatically write out the datetimes to the file with no conversion necessary. It uses the format and the timezone that the datetime variable in the table is set to, so if you want both a local and a UTC timestamp in the file, you'd have to have two datetime variables in the table.
  1 comentario
Bruce Elliott
Bruce Elliott el 28 de Sept. de 2015
Thanks, Peter. That sounds like it's worth a try, although I'm currently assembling the table line-by-line and just writing each line to the file as I go. Still, if I can figure out how to collect all the necessary data into the table and then write it all at once, that would be a lot simpler.

Iniciar sesión para comentar.

Categorías

Más información sobre Data Type Identification en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by