convert character date string to date vector

3 views (last 30 days)
Charles
Charles on 4 Feb 2019
Commented: 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?

Answers (1)

YT
YT on 4 Feb 2019
Edited: 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
madhan ravi
madhan ravi on 4 Feb 2019
Edited: madhan ravi on 4 Feb 2019
input() is an in-built function so naming a variable as input is not a good idea.

Sign in to comment.

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!