MATLAB Answers

Charles
0

convert character date string to date vector

Asked by Charles
on 4 Feb 2019
Latest activity Commented on by YT
on 4 Feb 2019
Hello
I have a date character string in the following format "2014-07-03T04:00:00.000000Z" within a table structure. I wish to convert this to a format which I can plot on a graph axis using the plot function.
plot(x,y)
where x is the date and y is some time series of data.
How can i convert the current date format?

  0 Comments

Sign in to comment.

Products


Release

R2018a

1 Answer

Answer by YT
on 4 Feb 2019
Edited by YT
on 4 Feb 2019

You can use datetime to do it
myString = '2014-07-03T04:00:00.000000Z';
myDateString = datetime(myString,'InputFormat','yyyy-MM-dd''T''HH:mm:ss.SSS''Z','TimeZone','UTC');
dateOnly = myDateString; %create copy for dates
timeOnly = myDateString; %create copy for times
dateOnly.Format = 'dd-MM-yyyy'; %dates / x
timeOnly.Format = 'HH:mm:ss.SSS'; %times / y
or use regular expressions
D = regexp(input,'(?<date>.*?)T(?<time>.*?)Z','names');
%D.date = '2014-07-03'
%D.time = '04:00:00.000000';

  2 Comments

input() is an in-built function so naming a variable as input is not a good idea.
YT
on 4 Feb 2019
ah thanks, changed it ;)

Sign in to comment.