How do I convert a specific string to a date ?

3 views (last 30 days)
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 Comments
Marine Pery
Marine Pery on 29 Jul 2022
Yes I know it is odd but I can't do anything about it unfortunately…

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 29 Jul 2022
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 Comments
Star Strider
Star Strider on 29 Jul 2022
My pleasure!
If my Answer helped you solve your problem, please Accept it!
@Stephen23 — Thank you!
.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!