MATLAB Answers

Date and time formate translation

2 views (last 30 days)
Martin
Martin on 1 Dec 2018
Edited: Martin on 2 Dec 2018
I need to translate those dates and time (strings)
'25-Mar-2014 13:00:00'
'07-Nov-2018 18:30:45'
to the forllowing format (in string as well):
'2014-03-25T13:00:00.000Z'
'2018-11-07T18:30:45.000Z'
Any idea how to handle such kind of formats? I find it pretty complex...

  2 Comments

madhan ravi
madhan ravi on 1 Dec 2018
what does T and Z represent just curious?
Martin
Martin on 1 Dec 2018
Actually I Dont Know!

Sign in to comment.

Accepted Answer

dpb
dpb on 1 Dec 2018
Edited: dpb on 1 Dec 2018
dt=datetime('25-Mar-2014 13:00:00');
fmt= 'uuuu-MMM-dd''T''HH:mm:ss.SSS''Z';
dt.Format=fmt;
>> dt =
datetime
2014-Mar-25T13:00:00.000Z
>>

  3 Comments

Martin
Martin on 1 Dec 2018
hmm actyally I though this would do it ( was on phone ), but the problem is that the result is not a string...
If I use datestr() on dt, I'll get
datestr(dt)
ans =
'25-Mar-2014 13:00:00'
EDIT:
Okay I figured it out, I could just use char(dt).
Thanks..
dpb
dpb on 1 Dec 2018
Yes. datestr is a remnant of the deprecated datenum that didn't have a formatting option; it is just a particularly-scaled double.
char(dt) is the idiom if need the character array; for most purposes however, either cellstr or string is probably more useful/less coding downstream--but depends upon just why you actually need the string representation at all...
Martin
Martin on 2 Dec 2018
I need to get a response from a statistical data API on the internet. This API only takes this kind of format. Do you have any suggestion how to get posix time from the format? string: timestr='2014-03-25T13:00:00.000Z'?
EDIT: Okay figured out. First I use t= datetime(timestr,'Format','yyyy-MM-dd''T''HH:mm:ss.SSS''Z')
then just posixtime(t)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!