MATLAB Answers

0

How can I embed tab characters in datetime string formats?

Asked by Bruce Elliott on 27 Aug 2018
Latest activity Commented on by Bruce Elliott on 28 Aug 2018
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

  0 Comments

Sign in to comment.

2 Answers

Answer by Stephen Cobeldick on 28 Aug 2018
Edited by Stephen Cobeldick on 28 Aug 2018
 Accepted Answer

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

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.


Answer by 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.

  0 Comments

Sign in to comment.