Counting days by month

7 visualizzazioni (ultimi 30 giorni)
dan berkowitz
dan berkowitz il 22 Ott 2017
Commentato: Andrei Bobrov il 23 Ott 2017
hi,
i have a 100x11 char array with dates (e.g. '03-Jan-2006'). how can i create an array with the number of days in each unique month that appear in my date array. (e.g. if i have two days in january 2006, then i want it to return 2). any help would be appreciated. thx in advance.
DB

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 22 Ott 2017
Modificato: Andrei Bobrov il 22 Ott 2017
Here A - your array "100x11 char array with dates (e.g. '03-Jan-2006')"
z = datetime(A);
T = table(datetime(z,'F','MMM-uuuu'),eomday(year(z),month(z)),'v',{'date','days'});
  4 Commenti
dan berkowitz
dan berkowitz il 23 Ott 2017
Thank you! I didn't know about the ymd function! Appreciate your help.
Andrei Bobrov
Andrei Bobrov il 23 Ott 2017
[y,m] = ymd(z);
or
[y,m] = datevec(z);

Accedi per commentare.

Più risposte (1)

KL
KL il 22 Ott 2017
Modificato: KL il 22 Ott 2017
It's better to change your char array into datetime vector
dt_array = datetime(char_array,'InputFormat','dd-MMM-yyyy')
and then you can use
numOfDays = nnz(dt_array.Month==your_month)

Categorie

Scopri di più su Dates and Time in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by