The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.matlab

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: format for reading 'yyyymmddTHHMMSS'
Replies: 3   Last Post: Nov 18, 2012 10:24 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]

Posts: 9,850
Registered: 6/7/07
Re: format for reading 'yyyymmddTHHMMSS'
Posted: Nov 18, 2012 10:24 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On 11/18/2012 1:35 AM, Arun Upadhayaya wrote:

...[top posting repaired--please don't do that; hard follow conversation

> dpb <> wrote in message <k88i1f$4gu$>...
>> On 11/17/2012 10:41 AM, Arun Upadhayaya wrote:
>> ...

>> > I have to read and print as output datetime format 'yyyymmddTHHMMSS' to
>> > a file. Suggest me what format i can use for the same .


>> ... I'll presume you have a datenum something like

>> >> dn=datenum(1998,12,24,3,48,5.698);
>> >> sprintf('%4d-%2.2d-%2.2dT%2.2d:%2.2d:%06.3f',datevec(dn))

>> ans =
>> 1998-12-24T03:48:05.698

> Thx. Dnb,
> The file i have is a csv file which has 25 description in it and reads
> like
> 1998-12-24T03:47:00.000,1998-12-24T04:08:00.000,1998-12-24T03:48:05.698,
> 917,54, 23.3........folowed by data.
> i am reading the file by putting:
> header = textscan(fid,
> %[^,],%[^,],%4d-%2.2d-%2.2dT%2.2d:%2.2d:%06.3f,%[^,],%[^,],%[^,],%[^,],
> %[^,],%[^,],%f,%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],
> %[^,],%[^,],%[^,],%[^,],%[^,],%[^,\r\n]',1);

>> and than writing only the 3rd de[s]cription to output.
>> by:
>> for i=3;
>> occtime=header{i};
>> end;
>> formatSpec = '%d-%2.2d-%2.2dT%2.2d:%2.2d:%06.3f';
>> fprintf(formatSpec,occtime);
>> but t is just printing 1998 in place of 1998-12-24T03:48:05.698

Well, first off what does header contain? Does the input work as
expected? It looks strange to me but I don't really know what you're
trying to do specifically, but...

If it is a csv file, why aren't you using 'delimiter',',' and then
skipping the fields you don't want instead of trying to parse (I guess
that's the intent of the %[^,]?).


fmt='%*s %*s %4d-%2d-%2dT%2d:%2d:%6f repmat('%*s,6,1) %*[^\n]';


Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.