java - 找出任意给定月份的第一天是哪一天

标签 java calendar

所以我需要制作一个基本日历,显示特定年份和月份的日历(用户应该能够选择 基于文本输入的任何月份和任何年份)。

到目前为止,我已经成功创建了一个日历对象,使用 Scanner 从用户那里获取所需的月份和年份,但我的问题是如何找出该月的第一天是什么?在上面的示例中,今天是星期六。我构建它的逻辑是,如果我知道第一天,我可以创建一个 String[][] 数组,并通过从第一天开始循环月份开始显示相关日期的日期。我使用扫描仪来获取所需的月份和年份。然后我创建了一个日历对象并设置了日历变量; Calendar.YEAR 和 Calendar.MONTH,根据用户的要求:

Calendar cal= Calendar.getInstance();
cal.set(Calendar.YEAR, year); //my year variable is set 2015
cal.set(Calendar.MONTH, chosenMonth); //my chosenMonth is set to 5 since January starts from 0.

我尝试使用以下代码来测试我的日历,看看如果星期一是该月的第一天它是否会执行代码。 2015 年 6 月,确实如此。

if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY){ System.out.println("这将打印我的日历连续收集到的星期一是 2015 年 6 月的第一天。") }

它不执行。

最佳答案

试试这个:

cal.set(Calendar.DATE, 1);

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("EEEE");
System.out.println(sdf.format(cal.getTime()));

输出:

Saturday

Demo

关于java - 找出任意给定月份的第一天是哪一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33589048/

相关文章:

java - 创建不必要的 getter

java - 私有(private)方法是不是应该尽量标记为 "static"?

JavaScript 动态日历

java - 日历 View Android 帮助

jquery - 完整日历js日期在错误的位置

java - 这个 JSP 可能有什么问题

java - 处理程序更改 UI 导致 CalledFromWrongThreadException

Java ActionListener 错误

C 语言的日历编程项目。对于新手来说太复杂了

macos - 如何创建可供其他用户下载的 iCal 类型 .ics 文件?