使用Calendar获取生日和当前时间只差,为什么年份会+1?

public class DateTest {

public static void main(String[] args) {
    // TODO Auto-generated method stub

Calendar time = Calendar.getInstance();
time.set(2003,2,1);
long s =time.getTimeInMillis();
long s1 = System.currentTimeMillis();
long s2 = s1-s;
long year = s2/1000/60/60/24/356;
System.out.println(year);
}

}

参照的当前时间为2018-10-5
当年份为2003年以及更早的年份时,年数+1。例如:2003则输出16.
而2004年以上的年份,则输出符合预期。例如:2004输入14年。

long year = s2/1000/60/60/24/356;
一年是356天,不是356天啊。