Effacer les filtres
Effacer les filtres

filtering problem of dates

2 vues (au cours des 30 derniers jours)
AA
AA le 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.

Réponse acceptée

Cam Salzberger
Cam Salzberger le 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

Plus de réponses (0)

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by