+-

以下是我的程序,当我输入相关的月份,日期和年份时,它返回错误的日期名称.
我在这里缺少什么?
我的计划
import java.util.Calendar;
import java.util.Locale;
import java.util.Scanner;
public class TimeTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String month = in.next();
String day = in.next();
String year = in.next();
System.out.println(getDay(day, month, year));
}
private static String getDay(String day, String month, String year) {
Calendar calendar = Calendar.getInstance();
calendar.set(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
return calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.getDefault());
}
}
输出:
09
24
2018
Wednesday
它应该返回“星期一”,因为那是当天.
最佳答案
假设它是9月但你实际上是在日历类的8月,因为月份从00(1月),01(2月)开始……在日历类中依此类推,因此你将09作为月份传递.
因此,为了获得正确的输出,您需要通过
08 // September Month not August
24
2018
这是你的running code
点击查看更多相关文章
转载注明原文:java – calendar.getDisplayName返回错误的一天 - 乐贴网