Java编程:获取2018年全年的周六与周日日期
下载需积分: 26 | TXT格式 | 956B |
更新于2024-09-07
| 74 浏览量 | 举报
在Java编程中,获取特定年份(如2018年)所有12个月中的周六和周日日期是一个常见的需求,特别是在处理日历相关的应用或者数据分析时。这段代码展示了如何通过`java.util.Calendar`类和`java.text.SimpleDateFormat`来实现这一功能。
首先,定义了一个名为`main`的方法,它接收一个参数数组`String[] args`,并使用`throws ParseException`来处理可能出现的日期解析异常。在这个方法内部,我们设置了几个关键步骤:
1. 初始化变量:
- `int year = 2018;`:设置要获取日期的年份。
- `List<String> dateList = new ArrayList<String>();`:创建一个空列表来存储每个月的周六和周日日期。
- `SimpleDateFormat simdf = new SimpleDateFormat("yyyy-MM-dd");`:创建一个日期格式化对象,用于将日期转换为"年-月-日"的字符串形式。
- `Calendar calendar = new GregorianCalendar(year, 0, 1);`:创建一个日历实例,使用指定的年份和月份(一月),第一天作为起始点。
2. 使用`while`循环遍历从当前年份到下一年的每一天:
- `while (calendar.get(Calendar.YEAR) < year + 1)`:当当前年份小于目标年份加一时继续循环。
- `calendar.set(Calendar.WEEK_OF_YEAR, i++);`:设置日期所在周的年份周数,`i`递增表示每循环一次增加一周。
- `calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);` 和 `Calendar.SATURDAY;`:分别设置日期为周日和周六。
3. 在循环中,判断日期是否在目标年份内:
- 如果是,使用`simdf.format(calendar.getTime())`将日期转换为字符串,并打印出来,同时添加到`dateList`中。
- 重复上述过程,但将`Calendar.DAY_OF_WEEK`设为周六。
4. 循环结束后,输出`dateList`的大小,即所有周六和周日日期的数量。
这段代码的核心逻辑是通过调整`Calendar`的年、周和星期几属性,实现了对特定年份12个月所有周六和周日的日期收集。它展示了如何利用Java的日期和时间处理功能,适用于处理与日期相关的任务,例如事件安排、数据统计等。通过这种方式,可以根据需要灵活地修改年份和输出格式,适应不同的应用场景。
相关推荐
![filetype](https://img-home.csdnimg.cn/images/20241231044955.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044955.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044833.png)
![filetype](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![filetype](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![filetype](https://img-home.csdnimg.cn/images/20250102104920.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044833.png)
![filetype](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![filetype](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![filetype](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
100 浏览量
![](https://profile-avatar.csdnimg.cn/4e1a4e41495343839668ae4bb26f0de1_cymlancy.jpg!1)
cymlancy
- 粉丝: 11
最新资源
- 联发科Android设备刷机工具SP_Flash_Tool最新版
- 掌握MFC Edit控件的自绘技巧:字体、背景与边框美化
- WordPress v4.9.7 正式发布:增强博客功能的开源平台
- C#开发的GIF压缩工具WINFROM版源码分享
- FAST开源支持票系统:轻量级解决方案演示
- 前程无忧职位自动刷新工具:提升招聘效率
- 探索食品银行项目:HTML技术在公益事业中的应用
- WPF中实现直线方程与平行线垂线的计算
- 基于OpenCV实现人脸检测与跟踪技术分析
- GitHub Breakout-crx插件:提升GitHub贡献度
- 深入浅出自定义View拓展:《Android群英传》读书笔记
- Zigbee Mesh技术实现温湿度采集系统完整测试
- GenDynToolkit: Pure Data中动态随机合成的创新工具
- 手势识别实现Activity间滑动切换及动画替换
- Moviesjoy免费高清电影下载攻略及crx插件解析
- 思昂英语语音评测插件v1.15.3 免费下载体验