How do I convert a specific string to a date ?

3 次查看(过去 30 天)
Hi everyone,
I have acceleration measurements that were collected via a tag.
The time is recorded as '22-07-04T013:09:42Z' (it is exactly written like that in my data).
Do you know how I can convert this type of string into a date? And if it possible, select only the time which here would be '13:09:42' ?
I tried datetime and datenum functions but I guess the specific format makes it more complicated.
Thanks,
Marine
  2 个评论
Stephen23
Stephen23 2022-7-29
"The time is recorded as '22-07-04T013:09:42Z' (it is exactly written like that in my data)."
Please check your data: it is odd to use three digits for the hours. Otherwise, it looks like a normal ISO 8601 timestamp.
Marpe
Marpe 2022-7-29
Yes I know it is odd but I can't do anything about it unfortunately…

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2022-7-29
Note the Comment by @Stephen23.
That aside, try this—
DT = datetime('22-07-04T013:09:42Z', 'InputFormat','dd-MM-yy''T''HHH:mm:ss''Z''', 'TimeZone','UTC') % Convert To 'datetime'
DT = datetime
22-Jul-2004 13:09:42
DT.Format = 'HH:mm:ss' % Select Only Time Time
DT = datetime
13:09:42
Here, datetime does not have problems with three-digit hours, providing that the first digit is a 0. I have no idea what it would do otherwise.
.
  4 个评论
Marpe
Marpe 2022-7-29
Thank you a lot. I'm still trying to figure out so much "simple" thing in Matlab…
Star Strider
Star Strider 2022-7-29
My pleasure!
If my Answer helped you solve your problem, please Accept it!
@Stephen23 — Thank you!
.

请先登录,再进行评论。

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by