二月考勤天数核算
HR 小陈在排 2 月工资表时,不确定今年 2 月是 28 天还是 29 天。若按 28 天算日薪,碰上闰年 2 月有 29 个工作日,员工加班费会少算。用本工具输入当前年份,一秒确认是否闰年,直接锁定 2 月天数,避免考勤统计误差。
翻开日历核对某年2月天数,或手算某年份是否闰年,每逢闰年判断就卡在规则细节上。这个工具直接判定任意年份的闰年属性,并列出该年2月天数;内置的闰年表可快速浏览指定区间内的所有闰年。判断逻辑在浏览器本地执行,输入的年份不会离开设备。
HR 小陈在排 2 月工资表时,不确定今年 2 月是 28 天还是 29 天。若按 28 天算日薪,碰上闰年 2 月有 29 个工作日,员工加班费会少算。用本工具输入当前年份,一秒确认是否闰年,直接锁定 2 月天数,避免考勤统计误差。
法务在起草一份 5 年期租赁合同时,起租日为 2024 年 2 月 1 日,需明确 2029 年 2 月 1 日是否到期。若 2029 年不是闰年,2 月只有 28 天,合同终止日就是 2 月 1 日;若 2029 年是闰年,2 月有 29 天,则终止日不变。用本工具查 2029 年闰年状态,锁定 2 月天数,合同日期描述无歧义。
一位 1960 年 2 月 29 日出生的老人,今年要办 65 岁寿宴。家人不确定 1960 年是否闰年,担心记错生日。用本工具查 1960 年闰年表,确认 2 月 29 日存在,并自动标注当年闰年状态,寿宴日期定在 2 月 29 日,无需翻万年历。
大一计算机系学生写「闰年判断」作业时,用 if-else 写错了整除 400 的优先级,导致 1900 年被误判为闰年。用本工具输入 1900 年,立即看到「不是闰年」的结果,对照工具给出的 2 月天数(28 天),发现自己的代码漏了世纪年规则,直接定位 bug。
| 维度 | 本工具 | 在线万年历 | 手工计算 |
|---|---|---|---|
| 输入方式 | 直接输入年份数字 | 需翻页查找或选择日期 | 心算或查纸质历书 |
| 输出内容 | 闰年判断 + 二月天数 + 可生成闰年表 | 仅显示当年日历 | 仅判断是否闰年 |
| 批量查询 | 一次生成任意起止年份的闰年表 | 逐页查看,无批量 | 逐条计算,效率低 |
| 离线可用 | 纯浏览器运行,无需网络 | 需联网加载页面 | 完全离线 |
| 计算依据 | 公历闰年规则(4年/100年/400年) | 同公历规则 | 依赖用户记忆或资料 |
| 适用场景 | 快速验证、批量查询、教学演示 | 日常看日历附带 | 无网络或工具时应急 |
| 输入 | 输出 | 说明 |
|---|---|---|
| 2024 | 是闰年(2月有29天) | 常规:当前最近的一个典型闰年,验证能被4整除且不被100整除的规则 |
| 1900 | 不是闰年(2月有28天) | 边界:能被100整除但不能被400整除的世纪年,易被误判为闰年 |
| 2000 | 是闰年(2月有29天) | 边界:能被400整除的世纪年,验证特殊规则,与1900形成对比 |
| 0 | 不是闰年(2月有28天) | 边界:公元0年不存在,但工具按格里高利历规则处理为平年,验证输入容错 |
| 1582 | 不是闰年(2月有28天) | 易错:格里高利历自1582年启用,此前的儒略历闰年规则不同,工具按现行历法处理 |
| 2100 | 不是闰年(2月有28天) | 常规:未来世纪年,验证规则一致性,与2000对比 |
| 2025 | 不是闰年(2月有28天) | 常规:非闰年普通年份,验证能被4整除的否定情况 |
1.公元纪年与历史纪年混淆
输入 -44 判断公元前 44 年输入 44,然后手动理解“公元前 44 年”是闰年公历闰年规则基于公元纪年(无公元0年),公元前年份需转换为天文纪年或单独处理。本工具仅支持公元1年及以后。
2.误把世纪年当普通闰年
输入 1900,期望结果为闰年输入 1900,结果为平年(2月28天)格里高利历规定:世纪年必须被400整除才是闰年。1900能被4整除但不能被400整除,故为平年。
3.混淆农历闰月与公历闰年
查询 2023 年闰二月,认为2023年是闰年2023年是公历平年(2月28天),农历闰二月是阴阳历的置闰农历闰月是阴阳历协调回归年与朔望月的机制,与公历闰年(2月29日)完全独立。本工具只判断公历闰年。
4.输入非整数或负数年份
输入 2024.5 或 -100输入 2024 或 1(仅正整数)闰年判断只对整数年份有意义。分数年无实际历法对应;负数年份(公元前)需单独规则,本工具不支持。
5.误以为能被4整除就是闰年
输入 2100,认为闰年2100是平年(世纪年规则)格里高利历的完整规则:能被4整除且(不能被100整除或能被400整除)。2100能被100整除但不能被400整除,故排除。
6.把闰年表当作万年历
查询 1582 年之前年份的闰年状态仅查询 1582 年及以后的年份公历(格里高利历)1582年才颁布实施。此前儒略历规则不同(每4年一闰,无世纪年例外),本工具按格里高利规则计算。
7.输入年份超出工具支持范围
输入 9999999输入 2024(或工具界面上标注的有效范围)JavaScript 的 Date 对象安全范围约在 ±100,000,000 天,极值年份可能因浮点精度或浏览器实现差异导致结果异常。应使用工具提示的合法范围。
8.用二月天数反推闰年时忽略世纪年
认为所有能被4整除的年份二月都有29天1900年二月只有28天(平年),2000年二月有29天(闰年)二月天数与闰年一一对应,但世纪年例外:1900年能被4整除但非闰年,二月28天;2000年能被400整除,二月29天。
闰年 = (year % 4 == 0 AND year % 100 != 0) OR (year % 400 == 0)
year待判断的公历年份,整数%取模运算符,求余数AND / OR逻辑与 / 逻辑或判断 2100 年:2100 % 4 = 0(满足第一条件),但 2100 % 100 = 0(不满足第二条件),且 2100 % 400 = 300 ≠ 0(不满足第三条件),因此 2100 年不是闰年,二月只有 28 天。
5 种主流语言实现,复制即用:
def is_leap(year: int) -> bool:
"""公历闰年判断:能被4整除且不能被100整除,或能被400整除"""
return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
# 示例
for y in [1900, 2000, 2024, 2025]:
print(f"{y}: {'闰年' if is_leap(y) else '平年'}")
# 输出: 1900: 平年 2000: 闰年 2024: 闰年 2025: 平年function isLeapYear(year) {
// 格里高利历规则
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
}
console.log(isLeapYear(2024)); // true
console.log(isLeapYear(2100)); // falsepackage main
import "fmt"
func isLeap(year int) bool {
// 公历闰年:四年一闰,百年不闰,四百年再闰
return year%4 == 0 && (year%100 != 0 || year%400 == 0)
}
func main() {
fmt.Println(isLeap(2024)) // true
fmt.Println(isLeap(1900)) // false
}#!/bin/bash
# 使用 date 命令判断闰年(依赖系统时区库)
is_leap() {
local year=$1
# 尝试构造2月29日,若失败则平年
if date -d "$year-02-29" &>/dev/null 2>&1; then
echo "闰年"
else
echo "平年"
fi
}
is_leap 2024 # 闰年
is_leap 2100 # 平年public class LeapYear {
public static boolean isLeap(int year) {
// 使用 java.time.Year 内置方法
return java.time.Year.of(year).isLeap();
}
public static void main(String[] args) {
System.out.println(isLeap(2024)); // true
System.out.println(isLeap(1900)); // false
}
}1900年不是闰年。公历闰年规则是:能被4整除但不能被100整除,或者能被400整除。1900能被4整除,也能被100整除,但不能被400整除,所以是平年。网上部分说法可能混淆了农历闰月或不同历法,本工具严格按公历格里高利历规则计算,输入1900年即可看到结果。
可以。本工具的「闰年表」功能支持输入起始年份和结束年份,一键生成区间内的所有闰年列表。例如输入2000和2050,会列出2000、2004、2008……一直到2048年,省去逐个年份查询的麻烦。
日历只能告诉你当前月,但如果你在做日期计算、排班表、项目计划或编程开发(比如计算两个日期相差天数),需要预先知道某年的二月是28天还是29天。本工具输入年份直接返回二月天数,避免你翻日历或查表,特别适合批量处理多个年份的场景。
不能。本工具只处理公元1年及以后的年份,输入负数或0会提示无效。因为公历闰年规则是在公元纪年基础上定义的,公元前历法混乱(如罗马历、儒略历),没有统一的闰年标准。如果你需要判断公元前年份,建议查阅历史历法资料。
准。本工具采用公历格里高利历的标准闰年算法(4年一闰,百年不闰,四百年再闰),与绝大多数手机日历、操作系统日期库(如JavaScript的Date对象)一致。如果发现不一致,先检查手机日历是否误设为儒略历或农历模式。
可能原因:1)输入框里填了非数字字符(如2024年、2024.5),本工具只接受纯整数年份;2)年份超出1-9999范围,工具对过大或过小年份会返回错误提示;3)浏览器缓存问题,可尝试刷新页面或清除缓存后重试。本工具纯前端运行,不依赖网络,排除以上情况后应该能正常使用。
完全离线可用。本工具是纯前端实现,所有计算在浏览器本地完成,不会上传任何数据到服务器。即使断网,打开页面后也能正常查询任意年份的闰年判断和二月天数。
不用。输入年份后,结果区会同时显示:该年是否为闰年、二月有多少天。两个结果一次性给出。另外还有独立的「闰年表」功能用于批量查询,三个功能都在同一页面,无需跳转。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。