How can I embed tab characters in datetime string formats?

8 views (last 30 days)
I have to create an output text file that will have lines of dates and times that are delimited by tab characters. I have no control over that format; it's a deliverable that has to be that way.
It looks like the .Format property of a datetime object cannot include escape characters, such as '\t'. Is there any easy way to get what I need, or must I assemble the output string piece-by-piece, using sprintf to insert the tab characters?
For reference, this is the format of a single line of the output, where the whitespace comes from tabs:
8 December 2015 14:10:50 8 December 2015 14:20:00

Accepted Answer

Stephen23
Stephen23 on 28 Aug 2018
Edited: Stephen23 on 28 Aug 2018
Much more efficient than post-processing the dates is to just define the Format string using sprintf:
fmt = sprintf('d\tMMMM\tyyyy\tHH:mm:ss');
datetime(..., 'Format',fmt)
  1 Comment
Bruce Elliott
Bruce Elliott on 28 Aug 2018
Ah ha! - That's exactly what I wanted, but I hadn't tried embedding the tab characters themselves into the format string. Thank you!

Sign in to comment.

More Answers (1)

Bruce Elliott
Bruce Elliott on 27 Aug 2018
Here's my own answer:
myString = regexprep(char(myDateTime),' ','\t');
That seems to work and isn't too painful, if you don't mind regular expressions.

Community Treasure Hunt

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

Start Hunting!