Java获取指定月份的日期与星期并遍历输出

5星 · 超过95%的资源 需积分: 10 3 下载量 179 浏览量 更新于2024-09-15 收藏 1KB TXT 举报
在Java编程中,获取特定月份的日期和星期是常见的任务,特别是在处理日期相关的数据处理和日历相关的操作时。本代码片段展示了如何使用`java.util.Calendar`类来实现这一功能。首先,我们创建一个`Calendar`对象,通过`getInstance()`方法获取当前系统的日历实例。然后,我们根据给定的月份(`mon`)设置年份(`y`)和月份(`m`),注意这里需要减去1,因为`set()`方法中的月份是从0开始计数的(即January = 0, February = 1等)。 接下来,通过`c.getActualMaximum(Calendar.DAY_OF_MONTH)`获取该月份的总天数,确保了不会超出范围。接着,遍历每一天(从1到`p`),对每一天进行以下操作: 1. 设置`Calendar`对象为当天日期。 2. 创建一个`Date`对象`youbi`,表示当前日期。 3. 使用`SimpleDateFormat`格式化日期,这里是"EEEE"格式,它会返回完整的星期名称(如Monday、Tuesday等)。虽然代码片段中也提到了另一种格式"E",但通常"EEEE"更常用,因为它返回完整的星期名。 在循环中,我们检查给定的员工签到表`tlist`中的每个记录,如果发现某一天的数据日期与当前遍历的日期匹配,则更新该条记录的星期值(`f.setYoubi(sm.format(youbi))`),并将记录添加到临时列表`tmpList`中。如果没有找到匹配项,说明这一天没有记录,就创建一个新的`StaffSigotoForm`对象,设置其星期、日期和时间字段,然后添加到列表中。 最后,函数返回处理后的临时列表,其中包含了对应月份每一天的日期和星期信息。这个过程对于按月生成报表或分析数据时非常有用,尤其是在处理员工考勤、项目进度等需要频繁查看日期和星期的场景中。