Avatar billede axel Nybegynder
14. marts 2002 - 10:57 Der er 5 kommentarer og
1 løsning

Calendar DATE

Hvordan sikrer jeg at min kalender forstår at det bliver en anden månede hvis jeg ruller tilbage med x antal dage istedet for med x antal måneder.
Min kalender tror der er 31 dage i alle måneder hvis jeg ruller tilbage med .DATE i stedet for med .MONTH

cal.roll(Calendar.DATE, day);
return cal.get(Calendar.DATE);
     
day er en int som metoden har som input.
Avatar billede disky Nybegynder
14. marts 2002 - 11:15 #1
Løsningen står i API'en
Time Field Rolling function. Add to field a signed amount without changing larger fields. A negative roll amount means to roll down. [NOTE: This default implementation on Calendar just repeatedly calls the version of roll() that takes a boolean and rolls by one unit. This may not always do the right thing. For example, if the DAY_OF_MONTH field is 31, rolling through February will leave it set to 28. The GregorianCalendar version of this function takes care of this problem. Other subclasses should also provide overrides of this function that do the right thing

Du skal bruge GregorianCalendar istedet.
Avatar billede axel Nybegynder
14. marts 2002 - 11:29 #2
GregorianCalendar er jo en subclass til Calendar, er den nye Calendar virkelig dårligere end den gamle ??? KAn man ikke løse problemet med Calendar ?
Avatar billede disky Nybegynder
14. marts 2002 - 12:12 #3
Calendar er en super klasse der bare definere metoder til Kalendere.

Men GregorianCalender er en implementation af det kalender system vi anvender i den vestlige verden.

Du kan f.eks. selv implementere en kalender der følger en anden type kalendar.

Hvorfor vil du løse problemmet med en Calendar, når gregorianCalendar netop er lavet til det du forsøger på ?
Avatar billede axel Nybegynder
14. marts 2002 - 12:33 #4
Det er nok mest fordi jeg har rodet med det så længe nu,..men jeg tror måske jeg har løst problemet med add() i stedet for roll().
Avatar billede disky Nybegynder
14. marts 2002 - 15:09 #5
du skulle nu stadigvæk bruge gregorian udgaven, men det må du selvfølgelig selv om.
Avatar billede disky Nybegynder
14. marts 2002 - 15:11 #6
hov tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester