datetime() does not return time data
8 ビュー (過去 30 日間)
古いコメントを表示
Hello all,
I just noticed a bug in my code that my datetime function is not converting time data from the character string.
My code is the following:
DTstart = datetime("2021-11-16 11:48:00", "InputFormat","yyyy-MM-dd HH:mm:ss");
This has worked on all versions of matlab without fail. However, I just updated to 2022b. Now when I run this, instead of getting:
DTstart =
datetime
16/11/2021 11:48:00
I get simply:
DTstart =
datetime
16/11/2021
This is causing a HUGE headache in my code. I need to look at thing by the second. It doesn't matter if I run the text as a string or a character. Everytime I try to search for an alternative, I just get redirected to the datetime function. Can someone please explain to me why this function is no longer working, or perhaps suggest an alternative?
0 件のコメント
採用された回答
Steven Lord
2022 年 10 月 26 日
In the Preferences, expand the MATLAB item in the tree. Select the Command Window item. What does it list for the default datetime display formats? Did you accidentally change the default?
2 件のコメント
Steven Lord
2022 年 10 月 27 日
Even if you'd changed the display format, the data was still present in the variable.
DTstart = datetime("2021-11-16 11:48:00", ...
"InputFormat","yyyy-MM-dd HH:mm:ss", ...
'Format', 'yyyy-MM-dd')
You can see this by asking for the time of day stored in DTstart.
timeofday(DTstart)
その他の回答 (1 件)
Voss
2022 年 10 月 26 日
Try specifying the Format (in addition to the InputFormat):
DTstart = datetime("2021-11-16 11:48:00","InputFormat","yyyy-MM-dd HH:mm:ss",'Format','dd/MM/yyyy')
DTstart = datetime("2021-11-16 11:48:00","InputFormat","yyyy-MM-dd HH:mm:ss",'Format','dd/MM/yyyy HH:mm:ss')
参考
カテゴリ
Help Center および File Exchange で Data Type Conversion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!