Formatted Datetime char values stored as numbers
1 view (last 30 days)
Show older comments
Colin Edgar
on 3 May 2018
Commented: Colin Edgar
on 3 May 2018
t1=datetime(2012,1,1,0,0,0);
t2=datetime(2012,12,31,23,30,0);
TSarray=t1:minutes(30):t2; %this makes a timestamp array for one year in 30 min increments
TSarray.Format='yyyyMMddHHmm'; %displays the TS array the way I need it e.g. '201208161230' Aug 16 12:30
TSstr=cellstr(TSarray);
I don't see how to get the TSstr cell array (char), or the datetime output in general, to be converted into a number array (double) of the number as it appears in the format, and not the datenum value. There must be a way to control this with datenum. In other words I want a number array of the formatted date e.g. '201208161230'. Reason being that I wish to combine with other number arrays into output matrix.
outputdata = [TSstr,data1,data2,....];
201208161230 data1 data2 ...
201208161300 data1 data2 ...
201208161330 data1 data2 ...
0 Comments
Accepted Answer
Walter Roberson
on 3 May 2018
Tsout = year(TSarray)*10^8 + month(TSarray)*10^6 + day(TSarray)*10^4 + hour(TSarray)*10^2 + minute(TSarray);
(You can skip setting the Format before this.)
Or you could str2double(TSstr)
3 Comments
More Answers (0)
See Also
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!