Counting days by month

7 vues (au cours des 30 derniers jours)
dan berkowitz
dan berkowitz le 22 Oct 2017
Commenté : Andrei Bobrov le 23 Oct 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

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 22 Oct 2017
Modifié(e) : Andrei Bobrov le 22 Oct 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 commentaires
dan berkowitz
dan berkowitz le 23 Oct 2017
Thank you! I didn't know about the ymd function! Appreciate your help.
Andrei Bobrov
Andrei Bobrov le 23 Oct 2017
[y,m] = ymd(z);
or
[y,m] = datevec(z);

Connectez-vous pour commenter.

Plus de réponses (1)

KL
KL le 22 Oct 2017
Modifié(e) : KL le 22 Oct 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)

Catégories

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by