Frustrating datetime and datestr

11 次查看(过去 30 天)
Hey I got this
hund = datetime(end_stamp, 'convertfrom','posixtime')
% which give this:
hund =
datetime
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 个评论
Stephen23
Stephen23 2021-12-3
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
03-Nov-2018
t.Format = 'dd-MMM-yyyy HH:mm:ss'
t = datetime
03-Nov-2018 00:00:00

请先登录,再进行评论。

采纳的回答

jonas
jonas 2018-11-11
编辑:jonas 2018-11-11
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')

更多回答(1 个)

Martin
Martin 2018-11-11
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'
  3 个评论
Martin
Martin 2018-11-11
yeah okay, a bit strange in my opinion. Anyway, now it works thanks to you :)
Stephen23
Stephen23 2021-12-3
编辑:Stephen23 2021-12-3
"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:

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by