Help Optimize slow Datestr() function performance
2 views (last 30 days)
Show older comments
I have imported a large text file with textual dates in the format m/d/yyyy. The end result that I need is a numeric date (for export to another system) in the format yyyymmdd. Since my text file is rather large (850,000 rows) my current method for conversion is really slow. It's taking about 50 seconds for the single line of code to run and is about 75% of my code's total run time. Since I have to run this code iteratively at times I'm interested in any suggestions to optimize how I'm using datestr, or an alternative.
Here's my code
tic
MyDates = str2num(datestr(MyData{1,2},'yyyymmdd'));
toc
yields - Elapsed time is 49.348078 seconds.
2 Comments
Accepted Answer
Walter Roberson
on 17 Jan 2014
t = datevec(MyData{1,2});
MyDates = t(:,1) * 10000 + t(:,2) * 100 + t(:,3);
3 Comments
Walter Roberson
on 17 Jan 2014
Out of interest, how long does it take now? Comparing to the 50 seconds.
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!