How do I read this csv file in and convert the dates?

30 views (last 30 days)
How can I use readtable() to read in this .csv and convert the dates from AM/PM to 24 hour at the same tieme
NA-KBOS , Hourly Forecast Made Oct 19 2017 1509 UTC
LocalTime, Temp, TempDiff, TempNormal, DewPoint, Cloud Cover, FeelsLikeTemp, FeelsLikeTempDiff, Precip, WindDir, WindSpeed(mph)
10/19/2017 12:00:00 AM,55.04,-2.1,48.75,46.94,0,55.04,-2.1,0,200,8.1,
10/19/2017 1:00:00 AM,53.96,-2.41,47.2,46.94,0,53.96,-2.41,0,180,8.1,
10/19/2017 2:00:00 AM,53.06,-2.66,46,46.94,0,53.06,-2.66,0,210,9.2,
  4 Comments
Walter Roberson
Walter Roberson on 20 Oct 2017
Unfortunately, %D formats can only handle spaces in the case where the whitespace property has been set to exclude space.
Try
temp = datestr( datenum(B(:,1), 'mm/dd/yyyy HH:MM:SS PM'), 'mm/dd/yyyy HH:MM:SS');
B(:,1) = cellstr(temp);
T4H14
T4H14 on 20 Oct 2017
Edited: T4H14 on 20 Oct 2017
When I try that I get:
temp = datestr( datenum(B(:,1), 'mm/dd/yyyy HH:MM:SS PM'), 'mm/dd/yyyy HH:MM:SS');
Error using datenum (line 181) DATENUM failed.
Caused by: Error using datenum (line 109) The input to DATENUM was not an array of character vectors.

Sign in to comment.

Accepted Answer

Jeremy Hughes
Jeremy Hughes on 20 Oct 2017
Edited: Jeremy Hughes on 20 Oct 2017
Hi, I have two things.
The first is that readtable should recognize the format, and return datetimes (assuming you are in a recent release. I didn't need to pass anything in to get DATETIME out.) If not, then the format should be %{MM/dd/uuuu hh:mm:ss aa}D.
Second, the format you see is only a display format. You can simply change the format of the array to see it in 24 hour time.
This should be as easy as:
T = readtable(filename)
T.LocalTime.Format = 'MM/dd/uuuu HH:mm:ss'
Check out the datetime page for more info on the formats supported. https://www.mathworks.com/help/matlab/ref/datetime.html

More Answers (0)

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!