09. maj 2007 - 14:07Der er
5 kommentarer og 2 løsninger
Date, Calendar og spørgsmål til dette
Hejsa.
Jeg er ved at lave et projekt, som i sin enkelthed skal kunne skabe et overblik over en arbejdsfase.
En del af programmet er, at man skal indtaste (i sidste ende i en GUI) en start dato for sit projekt / arbejdsfase, f.eks. 20.05.07 og man skal indtaste en slut dato f.eks. 01.07.07.
Disse to skal så gemmes i hver deres variable, henholdsvis startDate og endDate. Når det så er gjort, så skal der udregnes hvor mange dage der er mellem slut og start datoen. Jeg har kigget på Java Doc's API under "Calendar" og "Date" for at finde nogle metoder der kunne bidrage til denne funktion, og har fundet noget som minder om det, men måske ikke vil være fyldestgørende: computeTime()
I min kode har jeg som det første en System.out.print der udskriver den nuværende dato, og det gør den også - men jeg er løbet panden mod en mur med det, at sætte to datoer og udregne forskellen på dem.
Til at starte med har jeg prøvet med nogle scanners, men jeg kan ikke få det til at virke tilfredsstillene. Jeg kan godt få to datoer gemt i en variable; men den variable er jo af typen "String" og jeg vil tro, at jeg skal benytte typen "Date" for at kunne Compute de to datoer.
Håber der er nogle der kan hjælpe mig med det. Hvis jeg har forklaret mig lidt roddet, så skriv det endeligt - og jeg vil forsøge at uddybe hvad jeg mener.
Tak for begge jeres svar. Jeg fandt delvist ud af det selv, men brugte lidt af jeres råd, som I skrev her. Koden jeg endte op med ser således sådan ud:
Date startDate1 = new GregorianCalendar(syear, smonth, sday).getTime(); Date endDate1 = new GregorianCalendar(eyear, emonth, eday).getTime();
SimpleDateFormat sdf = new SimpleDateFormat("EEEE, d. MMM - yyyy"); String sDate = sdf.format(startDate1); String eDate = sdf.format(endDate1); sdf.setLenient(false);
long diff = endDate1.getTime() - startDate1.getTime();
System.out.println(" Forskellen på " + eDate); System.out.println(" og " + sDate + " er " + (diff / (1000L*60L*60L*24L)) + " dage."); }
Mange tak for jeres hjælp og hvis I hver gider at smide et svar, så vil jeg kvittere med point.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.