Ein seltsames Verhalten von java.util.calendar am FebruarJava

Java-Forum
Anonymous
 Ein seltsames Verhalten von java.util.calendar am Februar

Post by Anonymous »

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>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post