+-
java – calendar.getDisplayName返回错误的一天
以下是我的程序,当我输入相关的月份,日期和年份时,它返回错误的日期名称.

我在这里缺少什么?

我的计划

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返回错误的一天 - 乐贴网