Frustrating datetime and datestr

5 ビュー (過去 30 日間)
Martin
Martin 2018 年 11 月 11 日
編集済み: Stephen23 2021 年 12 月 3 日
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 件のコメント
Stephen23
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:

サインインしてコメントする。

製品

Community Treasure Hunt

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

Start Hunting!

Translated by