当前位置: 首页 > news >正文

java法定退休年龄计算器

 一、法定退休年龄是基础判定标准

根据《关于实施渐进式延迟法定退休年龄的决定》(2025年1月1日起施行)9:

  1. 男性:原退休年龄60岁 → 逐步延迟至63周岁

    • 计算方式:2025年起每4个月延迟1个月(例如2025年1月退休年龄为60岁1个月,2026年1月为60岁4个月,依此类推)。

  2. 女性

    • 原退休年龄50周岁 → 逐步延迟至55周岁(每2个月延迟1个月);

    • 原退休年龄55周岁(如女干部)→ 逐步延迟至58周岁(每4个月延迟1个月)。

代码实现

	public static void main(String[] args) {System.out.println(calculateRetirement(LocalDate.of(1990, 9, 14), 1));  // 男性(未延迟)System.out.println(calculateRetirement(LocalDate.of(1990, 9, 14), 0));  // 女55退休(延迟)System.out.println(calculateRetirement(LocalDate.of(1990, 9, 14), 2));   // 女50退休(延迟)}public static String calculateRetirement(LocalDate birthday, int sex) {// 转换为年月(忽略具体日期)YearMonth birthYM = YearMonth.from(birthday);// 定义基准参数int originalAge;YearMonth benchmark;int maxDelay;String genderType;if (sex == 1) { // 男性originalAge = 60;benchmark = YearMonth.of(1964, 12);maxDelay = 36;genderType = "男";} else if (sex == 0) { // 女55岁退休originalAge = 55;benchmark = YearMonth.of(1969, 12);maxDelay = 36;genderType = "女(55岁退休)";} else if (sex == 2) { // 女50岁退休originalAge = 50;benchmark = YearMonth.of(1974, 12);maxDelay = 60;genderType = "女(50岁退休)";} else {return "性别参数错误!0=女55岁退休, 1=男, 2=女50岁退休";}// 计算原退休年月YearMonth originalRetireYM = birthYM.plusYears(originalAge);// 检查是否需要延迟:cite[2]:cite[3]if (!birthYM.isAfter(benchmark)) {return String.format("出生日期: %s\n性别类型: %s\n退休年龄: %d岁\n退休年月: %s\n(未延迟退休)",birthday, genderType, originalAge,originalRetireYM.format(DateTimeFormatter.ofPattern("yyyy年MM月")));}// 计算延迟月数:cite[2]long monthsDiff = benchmark.until(birthYM, ChronoUnit.MONTHS);long delayMonths = (long) Math.ceil(monthsDiff / (sex == 2 ? 2.0 : 4.0));delayMonths = Math.min(delayMonths, maxDelay);// 计算实际退休年月YearMonth actualRetireYM = originalRetireYM.plusMonths(delayMonths);// 计算精确退休年龄long totalMonths = birthYM.until(actualRetireYM, ChronoUnit.MONTHS);int years = (int) (totalMonths / 12);int months = (int) (totalMonths % 12);return String.format("出生日期: %s\n性别类型: %s\n退休年龄: %d岁%d个月\n退休年月: %s\n延迟月数: %d个月",birthday, genderType, years, months,actualRetireYM.format(DateTimeFormatter.ofPattern("yyyy年MM月")),delayMonths);}

输出结果

出生日期: 1990-09-14
性别类型: 男
退休年龄: 63岁0个月
退休年月: 2053年09月
延迟月数: 36个月
出生日期: 1990-09-14
性别类型: 女(55岁退休)
退休年龄: 58岁0个月
退休年月: 2048年09月
延迟月数: 36个月
出生日期: 1990-09-14
性别类型: 女(50岁退休)
退休年龄: 55岁0个月
退休年月: 2045年09月
延迟月数: 60个月




http://www.dtcms.com/a/330109.html

相关文章:

  • Thinkphp(GUI)漏洞利用工具,支持各版本TP漏洞检测,命令执行,Getshell
  • reactive和ref使用方法及场景
  • GitHub 热榜项目 - 日榜(2025-08-13)
  • 光伏电站运维巡检指南
  • 02 流程流转
  • H616基于官方外设开发----1
  • 每日五个pyecharts可视化图表-line:从入门到精通 (5)
  • C++ 四种类型转换
  • el-table合并相同名称的列
  • 朝花夕拾(三)---------中文分词利器jieba库的详解与实战应用(python)
  • 洛谷 小 Y 拼木棒 贪心
  • 函数对象(仿函数)适配器
  • 《量子雷达》第2章 从量子信息到量子雷达 预习2025.8.13
  • 工业视觉检测中的常见的四种打光方式
  • Java 导出word 实现表格内插入图表(柱状图、折线图、饼状图)--可编辑数据
  • java反射与泛型的简单知识和应用
  • 【KO】Android 网络相关面试题
  • 326. 3 的幂
  • 不用费心备份操作的实验记录本
  • VUE基础笔记
  • 【AI学习100天】Day07 加入AI社区,通往AGI之路
  • C# 反射和特性(获取Type对象)
  • 【C#】利用数组实现大数数据结构
  • Spring Cloud系列— Alibaba Sentinel限流
  • Pycharm现有conda环境有对应env,但是添加后没反应
  • 《人形机器人的觉醒:技术革命与碳基未来》——生物混合肌肉:技术原理和进展、比较优势和不足、材料技术要求及材料限制
  • 递归函数与 lambda 函数:用法详解与实践
  • Synchronized锁的使用方式
  • three.js学习记录(鼠标控制)
  • Linux 计划任务