Frustrating datetime and datestr

17 views (last 30 days)
Martin on 11 Nov 2018
Edited: Stephen23 on 3 Dec 2021
Hey I got this
hund = datetime(end_stamp, 'convertfrom','posixtime')
% which give this:
hund =
05-Nov-2018 00:00:00
Because this one hit time 00:00:00 and I use datestr i get this:
hund = datestr(hund)
hund = '05-Nov-2018'
But I need to get the exact line as a string:
hund = '05-Nov-2018 00:00:00'
Anyone have an idea ?
  1 Comment
Stephen23 on 3 Dec 2021
Rather than using deprecated DATESTR, it is much better to stick with the DATETIME object itself:
t = datetime('03-Nov-2018 00:00:00','InputFormat','dd-MMM-yyyy HH:mm:ss')
t = datetime
t.Format = 'dd-MMM-yyyy HH:mm:ss'
t = datetime
03-Nov-2018 00:00:00

Sign in to comment.

Accepted Answer

jonas on 11 Nov 2018
Edited: jonas on 11 Nov 2018
Not sure why you'd want to convert from datetime to datestr, but here's your solution:
datestr(t,'dd-mmm-yyyy HH:MM:SS')

More Answers (1)

Martin on 11 Nov 2018
thanks for answer. Let me say whats confusing me. If I use
t = datetime('03-Nov-2018 00:00:00','InputFormat','dd-MMM-yyyy HH:mm:ss');
Here the format is 'dd-MMM-yyyy HH:mm:ss' (the string is input)..
On the other hand with datestr I now use this (thanks jonas)
datestr(t,'dd-mmm-yyyy HH:MM:SS')
the format is 'dd-mmm-yyyy HH:MM:SS'.
Im confused since the format
'dd-MMM-yyyy HH:mm:ss' ~= 'dd-mmm-yyyy HH:MM:SS'
Stephen23 on 3 Dec 2021
Edited: Stephen23 on 3 Dec 2021
"I don't know if there is a reason"
The deprecated DATESTR/DATENUM, etc used a simple, consistent, venerable format presumably devised by TMW.
In contrast DATETIME uses the Unicode Locale Data Markup Language (LDML) standard for dates and times:
as documented here:

Sign in to comment.


Find more on Dates and Time in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!

Translated by