La plus simple moyen est de simplement parcourir tous les jours dans le mois, et de vérifier le jour de la semaine pour chacun d'eux. Par exemple:
//This takes a 1-based month, e.g. January=1. If you want to use a 0-based//month, remove the "- 1" later on.publicint countWeekendDays(int year,int month){Calendar calendar =Calendar.getInstance();//Note that month is 0-based in calendar, bizarrely.
calendar.set(year, month -1,1);int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);int count =0;for(int day =1; day <= daysInMonth; day++){
calendar.set(year, month -1, day);int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);if(dayOfWeek ==Calendar.SUNDAY || dayOfweek ==Calendar.SATURDAY){
count++;//Or do whatever you need to with the result.}}return count;}
Je suis absolument sûr il y a bien des manières plus efficaces de le faire - mais c'est ce que j'aimerais commencer avec, et d'optimiser quand je l'avais trouvé il est trop lent.
Noter que si vous êtes en mesure d'utiliser Joda Time qui permettrait de rendre votre vie beaucoup plus facile...
De Base sur la réponse précédente, j'ai une petite modification
Lorsque u trouver le premier samedi et le dimanche, vous pouvez simplement ajouter 7 jours jusqu'à ce que le mois est changé.
merci pour ur sugession Pourriez-vous veuillez donner une upvote si u pense que ma réponse est ok?
import java.util.Calendar;import java.util.GregorianCalendar;publicclassSundays{publicstaticvoid main(String[] args){int year =2012;//put the month you wantint month =Calendar.JANUARY;Calendar cal =newGregorianCalendar(year, month,1);do{int day = cal.get(Calendar.DAY_OF_WEEK);if(day ==Calendar.SATURDAY || day ==Calendar.SUNDAY){System.out.println(cal.get(Calendar.DAY_OF_MONTH));}
cal.add(Calendar.DAY_OF_YEAR,1);}while(cal.get(Calendar.MONTH)== month);}}
La plus simple moyen est de simplement parcourir tous les jours dans le mois, et de vérifier le jour de la semaine pour chacun d'eux. Par exemple:
Je suis absolument sûr il y a bien des manières plus efficaces de le faire - mais c'est ce que j'aimerais commencer avec, et d'optimiser quand je l'avais trouvé il est trop lent.
Noter que si vous êtes en mesure d'utiliser Joda Time qui permettrait de rendre votre vie beaucoup plus facile...
merci pour ce code . .
OriginalL'auteur Jon Skeet
De Base sur la réponse précédente, j'ai une petite modification
Lorsque u trouver le premier samedi et le dimanche, vous pouvez simplement ajouter 7 jours jusqu'à ce que le mois est changé.
Pourriez-vous veuillez donner une upvote si u pense que ma réponse est ok?
OriginalL'auteur Bear
Essayez ceci:
OriginalL'auteur Enrique Marcos
S'il vous plaît aller à travers cette méthode, j'ai fait face à beaucoup j'ai enfin créé mon propre.
Il vous donnera un résultat exact.
OriginalL'auteur Prabhat Kumar Kashyap