an issue with datetime

4 次查看(过去 30 天)
hi
defined a variable:
a = '02/15/2023 12:59:58';
did:
b = datetime(a,'InputFormat','MM/dd/yyyy hh:mm:ss')
i get:
15-Feb-2023 00:59:58
checked the time zone and also imposed the 'TimeZone' option.
thanks a lot !!!
mat
  3 个评论
Shlomi Bejerano
Shlomi Bejerano 2023-3-6
another example:
a = '02/15/2023 13:00:00';
datetime(a,'InputFormat','MM/dd/yyyy hh:mm:ss')
gives:
Unable to convert '02/15/2023 13:00:00' to datetime using the format 'MM/dd/yyyy hh:mm:ss'. ???
thanks
Steven Lord
Steven Lord 2023-3-8
Unable to convert '02/15/2023 13:00:00' to datetime using the format 'MM/dd/yyyy hh:mm:ss'. ???
That's correct. Looking at the table of letter identifiers in the documentation for the Format property of datetime objects the description of the 'hh' identifier is "Hour, 12-hour clock notation using two digits". On a 12-hour clock 13 is not a valid hour.
Now if you were to use "HH", whose description states "Hour, 24-hour clock notation using two digits", instead of "hh" then hour 13 is 1 PM.
a = '02/15/2023 13:00:00';
d = datetime(a,'InputFormat','MM/dd/yyyy HH:mm:ss')
d = datetime
15-Feb-2023 13:00:00
If you want to show the AM/PM period, the identifier for that is 'a'. If I specify the period I probably also want to use the 12-hour clock so I changed "HH" back to "hh".
d.Format = 'MM/dd/yyyy hh:mm:ss a'
d = datetime
02/15/2023 01:00:00 PM

请先登录,再进行评论。

采纳的回答

Voss
Voss 2023-3-6
Maybe you mean "HH"
a = '02/15/2023 13:00:00';
b = datetime(a,'InputFormat','MM/dd/yyyy HH:mm:ss')
b = datetime
15-Feb-2023 13:00:00

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by