Ein seltsames Verhalten von java.util.calendar am Februar

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Ein seltsames Verhalten von java.util.calendar am Februar

by Anonymous » 25 Aug 2025, 16:56

Ich habe ein seltsames Verhalten von java.util.calendar: < /p>

konfrontiertimport static org.junit.Assert.*;
import org.junit.Test;

import java.util.Calendar;

public class Tester1 {
@Test
public void test_monthOfDate() {
assertEquals(1, monthOfDate(2013, 1, 30)); // OK
assertEquals(1, monthOfDate(2013, 1, 31)); // OK

// Start of February
assertEquals(2, monthOfDate(2013, 2, 1)); // FAIL
assertEquals(2, monthOfDate(2013, 2, 28)); // FAIL
// to the end of it

// and after that it is okay also
assertEquals(3, monthOfDate(2013, 3, 1)); // OK
}

public int monthOfDate(int year, int month, int day) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);

// just a simple get! but seems it is very important
cal.get(Calendar.MONTH);
//

cal.set(Calendar.DAY_OF_MONTH, day);

return cal.get(Calendar.MONTH) + 1;
}
}
< /code>

Ich möchte wissen, warum genau das passiert? < /p>

Top