filtering problem of dates

4 Ansichten (letzte 30 Tage)
AA
AA am 1 Nov. 2017
Beantwortet: Cam Salzberger am 1 Nov. 2017
circa1 = xlsread(fileToRead);
[numOnly, textOnly, rawDataInCellArray] = xlsread(fileToRead);
Dates=textOnly(~cellfun('isempty',textOnly));
matchresult = regexp(Dates, '(?<day>\d+)/(?<month>\d+)/(?<year>\d+)');
nomatch = cellfun(@isempty, matchresult);
dateless = Dates(nomatch);
datelike = Dates(~nomatch);
dateliketime=datetime(datelike);
liatime=dateliketime.Month == 10;
Warning: Successfully read the date/time strings using the format 'MM/dd/uuuu', but their format is ambiguous and could also be
'dd/MM/uuuu'. Specify a format string to avoid ambiguity.
> In guessFormat (line 59)
In datetime (line 589)
I get the above error. The filtering is wrong because the format string is not properly defined. I want dd/MM/uuuu. I cannot filter out the month October successfully.

Akzeptierte Antwort

Cam Salzberger
Cam Salzberger am 1 Nov. 2017
As the warning suggests, try specifying the correct 'InputFormat' when you call datetime.
datelike = {'01/10/2017' ; '02/10/2017'};
dt = datetime(datelike)
Warning: Successfully read the date/time text using the format 'MM/dd/uuuu', but their
format is ambiguous and could also be 'dd/MM/uuuu'. Specify a format character vector
to avoid ambiguity.
> In guessFormat (line 66)
In datetime (line 612)
dt =
2×1 datetime array
10-Jan-2017
10-Feb-2017
versus:
datelike = {'01/10/2017' ; '02/10/2017'};
dt = datetime(datelike, 'InputFormat', 'dd/MM/uuuu')
dt =
2×1 datetime array
01-Oct-2017
02-Oct-2017
-Cam

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by