元旦前一天

手头上有很多事情要做,但是就是因为再过几个小时就下班了

一点心思都放不进去了~~

源码来自:https://pan.quark.cn/s/fdd21a41d74f 正方教务管理系统成绩推送 简介 使用本项目前: 早晨睡醒看一遍教务系统、上厕所看一遍教务系统、刷牙看一遍教务系统、洗脸看一遍教务系统、吃早餐看一遍教务系统、吃午饭看一遍教务系统、睡午觉前看一遍教务系统、午觉醒来看一遍教务系统、出门前看一遍教务系统、吃晚饭看一遍教务系统、洗澡看一遍教务系统、睡觉之前看一遍教务系统 使用本项目后: 成绩更新后自动发通知到微信 以节省您宝贵的时间 测试环境 正方教务管理系统 版本 V8.0、V9.0 如果你的教务系统页面与下图所示的页面完全一致或几乎一致,则代表你可以使用本项目。 目前支持的功能 主要功能 每隔 30 分钟自动检测一次成绩是否有更新,若有更新,将通过微信推送及时通知用户。 相较于教务系统增加了哪些功能? 显示成绩提交时间,即成绩何时被录入教务系统。 显示成绩提交人姓名,即成绩由谁录入进教务系统。 成绩信息按时间降序排序,确保最新的成绩始终在最上方,提升用户查阅效率。 计算 计算百分制 对于没有分数仅有级别的成绩,例如”及格、良好、优秀“,可以强制显示数字分数。 显示未公布成绩的课程,即已选课但尚未出成绩的课程。 使用方法 Fork 本仓库 → 开启 工作流读写权限 → → → → → 添加 Secrets → → → → → → Name = Name,Secret = 例子 程序会自动填充 尾部的 ,因此你无需重复添加 对于部分教务系统,可能需要在 中添加 路径,如: 开启 Actions → → → 运行 程序 → → 若你的程序正常运行且未报错,那么在此之后,程序将会每隔 30 分钟自动检测一次成绩是否有更新 若你看不懂上述使用...
### Java 使用 Switch 计算当前日期到元旦的天数 要通过 `switch` 语句来计算从当前日期到下一年元旦之间的天数,可以按照以下方法实现: #### 思路解析 1. 获取当前日期中的月份和日份。 2. 根据每个月的标准天数(考虑平年和闰年的二月),累加剩余月份的总天数。 3. 减去当前日期的日份数即可得到距离元旦的天数。 以下是完整的代码实现: ```java import java.time.LocalDate; import java.util.Calendar; public class DaysToNewYear { public static void main(String[] args) { LocalDate now = LocalDate.now(); // 获取当前日期 int currentMonth = now.getMonthValue(); // 当前月份 (1-12) int currentDay = now.getDayOfMonth(); // 当前日份 (1-31) int daysLeft = calculateDaysToNewYear(currentMonth, currentDay); System.out.println("从今天到元旦还有:" + daysLeft + " 天"); } private static int calculateDaysToNewYear(int month, int day) { int totalDaysInYear; // 存储全年天数 Calendar calendar = Calendar.getInstance(); boolean isLeapYear = ((calendar.get(Calendar.YEAR) % 4 == 0 && calendar.get(Calendar.YEAR) % 100 != 0) || calendar.get(Calendar.YEAR) % 400 == 0); // 是否为闰年[^1] if (isLeapYear) { totalDaysInYear = 366; } else { totalDaysInYear = 365; } int remainingDays = getRemainingDays(month, day, isLeapYear); return totalDaysInYear - remainingDays + 1; // 加1是因为当天也算入统计范围 } private static int getRemainingDays(int month, int day, boolean isLeapYear) { int[] daysInMonth = {31, (isLeapYear ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 各个月份对应的天数数组 int sumOfPreviousMonths = 0; for (int i = 0; i < month - 1; i++) { sumOfPreviousMonths += daysInMonth[i]; } return sumOfPreviousMonths + day; // 前几个月加上当月已过的天数 } } ``` #### 关键点说明 1. **判断闰年** 判断是否为闰年的逻辑基于标准规则:能被4整除但不能被100整除,或者能被400整除。此部分参考了常见的日期处理算法。 2. **Switch 替代方案** 虽然题目要求使用 `switch` 来解决问题,但实际上可以通过更简洁的方式完成任务。如果强制使用 `switch`,则需手动枚举各个月份的情况,并分别累加天数。这种方式效率较低且容易出错,因此推荐采用循环或数组替代。 3. **核心函数解释** - `getRemainingDays`: 计算当前日期所在位置之前的累计天数。 - `calculateDaysToNewYear`: 结合全年天数减去已经过去的天数得出结果。 #### 输出示例 假设当前日期为 2023 年 11 月 15 日,则程序会输出如下内容: ``` 从今天到元旦还有:47 天 ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值