Hejsan, Tjena.Hur hitta nästa specifika datum med hjälp av Gregorian Calendar
Jag försöker göra ett program som klarar av att räkna ut de 10 följande
datumen som är fredagen den 13. Programmet skall klara av att
skriva ut [dag - månad - år].
Jag tror jag har kommit till en start genom att specifiera dagens datum med
GregorianCalendar today = new GregorianCalendar(2005, Calendar.NOVEMBER, 30);
Date datum = today.getTime();
int veckodag = today.get(Calendar.DAY_OF_WEEK);
int dag = today.get(Calendar.DAY_OF_MONTH);
Sen antar ja att jag måst ha en sorts while loop som plussar på träffar och skriver ut
datumet varje gång veckodagen är en fredag och dagen är 13. Men jag vet inte riktigt
hur jag skall få det snyggt gjort.
Väldigt tacksam för hjälp.
h.ChristianSv: Hur hitta nästa specifika datum med hjälp av Gregorian Calendar
String[] friday13=new String[10];
java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=java.util.Calendar.getInstance();
int counter=0;
if(calendar.get(Calendar.DAY_OF_MONTH)<=13){
//om dagens datum är mindre eller lika med den 13:e så bör vi kolla denna månad också..
calendar.set(Calendar.DAY_OF_MONTH,13);
if(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.FRIDAY)
friday13[counter++]=sdf.format(calendar.getTime());
}
//fixa 9 eller 10 datum som matchar...
while(counter<10){
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH,13);
if(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.FRIDAY)
friday13[counter++]=sdf.format(calendar.getTime());
}
//Printa resultatet...
for(int i=0;i<friday13.length;i++){
System.out.println(i+" = "+friday13[i]);
}
Hoppas det funkar...
Peter