我得到错误的答案,2020有53周,但是这段代码给出52周,请给我一个建议,package com.hib.mapping;

import java.time.LocalDate;

import java.time.temporal.WeekFields;

import java.util.Calendar;

import java.util.GregorianCalendar;

import org.joda.time.DateTime;

public class TestWeek {

public static void main(String args[]) {

System.out.println(getWeeks());

}

public static int getWeeks() {

Calendar cal = Calendar.getInstance();

cal.set(Calendar.YEAR, 2020);

cal.set(Calendar.MONTH, Calendar.JANUARY);

cal.set(Calendar.DAY_OF_MONTH, 1);

GregorianCalendar gregorianCalendar = new GregorianCalendar();

int weekDay = cal.get(Calendar.DAY_OF_WEEK) - 1;

if (gregorianCalendar.isLeapYear(2020)) {

if (weekDay == Calendar.THURSDAY || weekDay == Calendar.WEDNESDAY)

return 53;

else

return 52;

} else {

if (weekDay == Calendar.THURSDAY)

return 53;

else

return 52;

}

}

}

输出:

52

Logo

一站式 AI 云服务平台

更多推荐