java实现根据延迟法定退休政策计算退休年龄

SpringAI集成PostgreSQL+pgvector实现RAG向量检索 向量数据库是支撑RAG(检索增强生成)架构的核心基础设施,其本质是将非结构化文本转化为高维向量,并通过相似度计算实现语义检索。技术原理上依赖嵌入模型生成向量、距离度量算法(如余弦相似度)及高效索引结构(如HNSW)。PostgreSQL+pgvector方案凭借关系型数据库的事务一致性、运维成熟度与Spring生态天然兼容性,显著降低Java工程师落地RAG的技术门槛。相比Milvus、Qdrant等专用向量数据库,它避免了多系统协同复杂度,支持元数据与向量同表存储、ACID事务保障,特别适合政务、金融等强 阅读详情
AI摘要

博客介绍了延迟退休年龄的计算规则,从2025年1月1日起,不同性别和原法定退休年龄的职工退休年龄逐步延迟,还提及编码实现,运行结果与对照表一致。

一、计算规则

从2025年1月1日起,男职工和原法定退休年龄为五十五周岁的女职工,法定退休年龄每四个月延迟一个月,分别逐步延迟至六十三周岁和五十八周岁;原法定退休年龄为五十周岁的女职工,法定退休年龄每二个月延迟一个月,逐步延迟至五十五周岁。国家另有规定的,从其规定。

原文链接:全国人民代表大会常务委员会关于实施渐进式延迟法定退休年龄的决定

二、编码实现:

import lombok.Data;
import java.time.LocalDate;
import java.time.Period;
import java.time.temporal.ChronoUnit;

/**
 * <p>
 * 从2025年1月1日起,男职工和原法定退休年龄为五十五周岁的女职工,法定退休年龄每四个月延迟一个月,分别逐步延迟至六十三周岁和五十八周岁;</>
 * <p>
 * 原法定退休年龄为五十周岁的女职工,法定退休年龄每二个月延迟一个月,逐步延迟至五十五周岁。国家另有规定的,从其规定。</>
 *
 * @author lidongyang
 * @date 2024/9/14 08:46
 * @since V1.0.0
 */
public class RetirementAgeCalculator {
    public static void main(String[] args) {
        LocalDate birthDate = LocalDate.of(1965, 1, 31);
        // 示例原退休年龄
        int oldRetirementAge = 60;


        RetirementInfo retirementInfo = calculateNewRetirement(birthDate, oldRetirementAge);

        System.out.println("新的退休年龄: " + retirementInfo.getRetirementAge());
        System.out.println("预计退休日期: " + retirementInfo.getRetirementDate());
        System.out.println("延迟的月数: " + retirementInfo.getDelayMonth() + "个月");
        System.out.println(
                "距离退休还有: " + (ChronoUnit.DAYS.between(LocalDate.now(), retirementInfo.getRetirementDate()) - 1)
                        + "天");
    }

    /**
     * 计算新的退休信息
     *
     * @param birthDate
     * @param oldRetirementAge
     * @return
     */
    public static RetirementInfo calculateNewRetirement(LocalDate birthDate, int oldRetirementAge) {
        RetirementInfo retirementInfo = new RetirementInfo();
        LocalDate startDelayDate = LocalDate.of(2025, 1, 1);
        // 计算原退休日期
        LocalDate oldRetirementDate = birthDate.plusYears(oldRetirementAge);
        // 计算新的退休日期 超过原退休日期后新的退休日期每隔四个月加一个月,直到加满36个月截止
        LocalDate newRetirementDate;
        // 延迟月份
        int monthsToDelay = 0;
        // 最大延迟月份数
        int maxMonthsToDelay = 36;
        // 被除数
        // 男职工和原法定退休年龄为五十五周岁的女职工,法定退休年龄每四个月延迟一个月
        int dividend = 4;
        if (oldRetirementAge == 50) {
            // 原法定退休年龄为五十周岁的女职工,法定退休年龄每二个月延迟一个月
            dividend = 2;
            maxMonthsToDelay = 60;
        }

        // 如果原退休日期在延迟开始日期之前,则使用原退休日期
        if (oldRetirementDate.isBefore(startDelayDate)) {
            newRetirementDate = oldRetirementDate;
        } else {
            // 计算超过起始延迟日期后需要增加的月份数
            Period period = Period.between(startDelayDate, oldRetirementDate);
            int monthsToAdd = period.getYears() * 12 + period.getMonths() + 1;
            // 每过四个月加一个月
            monthsToDelay = monthsToAdd / dividend;
            int remainder = monthsToAdd % dividend;
            if (remainder != 0) {
                monthsToDelay++;
            }

            if (monthsToDelay > maxMonthsToDelay) {
                monthsToDelay = maxMonthsToDelay;
            }

            // 原退休日期+延迟退休的月份
            newRetirementDate = oldRetirementDate.plusMonths(monthsToDelay);
        }

        retirementInfo.setDelayMonth(monthsToDelay);
        retirementInfo.setRetirementDate(newRetirementDate);

        // 计算退休年龄,精确到月,设置为1号是为了解决非闰年没有2月29号的问题
        int age = Period.between(birthDate.withDayOfMonth(1), newRetirementDate.withDayOfMonth(1)).getYears();
        int month = Period.between(birthDate.withDayOfMonth(1), newRetirementDate.withDayOfMonth(1)).getMonths() % 12;

        retirementInfo.setRetirementAge(String.format("%s岁%s个月", age, month));
        if (month == 0 || age >= 63) {
            retirementInfo.setRetirementAge(String.format("%s岁", age));
        }

        return retirementInfo;
    }

    /**
     * 判断是否是闰年,非闰年2月只有28天
     *
     * @param year
     * @return
     */
    private static boolean checkLeapYear(int year) {
        if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
            return true;
        } else {
            return false;
        }
    }
}



@Data
class RetirementInfo {
    private String retirementAge;
    private Integer delayMonth;
    private LocalDate retirementDate;
}

三、运行结果

运行结果与对照表一致

AI记忆系统设计:三层架构与遗忘算法实战 AI对话系统的‘记忆’并非简单延长上下文,而是对人类记忆机制的工程化模拟——涉及长期存储、工作缓存与情境索引三类技术范式。其核心原理在于解耦记忆管理与语言模型推理,通过可寻址、可更新、可衰减的结构化存储(如键值对、时序数据库、Redis有序集合)替代暴力扩窗,兼顾低延迟、高精度与资源可控性。技术价值体现在显著提升对话连贯性、个性化响应率与用户复访率;典型落地场景包括政务咨询、医疗问诊与智能客服等强上下文依赖业务。本文聚焦Memento记忆架构与遗忘曲线算法,提供可验证的轻量级实现路径。 阅读详情

相关推荐

GLM-4.7国产编码大模型:中文语义压缩与多编码鲁棒性突破

AI编程助手正从通用代码生成迈向垂直工程落地,其核心在于对中文技术语境的理解能力与生产环境兼容性。传统大模型在Java/Python等语言中常因分词失准、大小写敏感缺失、泛型擦除等问题导致编译失败;更关键的是,在国产信创环境中,GBK/UTF-8混合编码、ARM架构适配、国产数据库方言支持等现实约束长期制约AI编码工具的可用性。GLM-4.7通过中文代码语义压缩算法与动态编码感知模块(DEAM),显著提升中文工程术语建模精度和多编码鲁棒性,实现在统信UOS、飞腾服务器及Oracle/MySQL混合数据库场景

weixin_30387423的博客 450

最新法定退休年龄日期计算

【代码Java】最新法定退休年龄日期计算。

apple_53491181的博客 1612

量化策略本质:从价格预测到资金行为建模

股票市场预测在工程实践中并非直接拟合价格序列,而应回归金融本质——建模市场参与者的集体决策逻辑。其底层原理在于:价格本身服从随机游走,但资金流动、杠杆变化、外资动向等行为痕迹具备更强的时序稳定性与可解释性。这种‘决策信号建模’范式显著提升模型鲁棒性,规避传统LSTM端到端拟合导致的过拟合防控失效与实盘衰减问题。典型应用场景包括行业轮动识别、主力资金监测、波动率突变归因等高频交易决策支持。本文聚焦机器学习在真实量化系统中的落地逻辑,以可验证、可迭代、可风控的方式重构时序建模方法论。

324

记渐进式延迟法定退休年龄计算

好久没有进行文章记录了,今天完成了一个渐进式延迟法定退休年龄计算的java实现方法。亲写、亲测没毛病,记录下来以备后用。估计网上都有好多了。也不知道是否有雷同。鉴于自己写的,所以记录下来。

u011529483的博客 1017

Eigen 直线拟合/曲线拟合/圆拟合/椭圆拟合

使用Eigen库进行直线拟合是数据分析和科学计算中的常见任务,主要通过最小二乘法实现。该代码演示了二维空间中的直线拟合,输出斜率和截距。

深之JohnChen的专栏 1588

项目管理——14规划绩效域论文套路

规划绩效域论文套路

Flee Elf 1152

java退休,关于退休时间问题 - java_wang的个人空间 - OSCHINA - 中文开源技术交流社区...

packagetest;importjava.util.*;publicclassRetirement//退休{privatestaticScannerin;publicstaticvoidmain(String[]args){in=newScanner(System.in);System.out.println("Howmuchmoneydouyouneed...

weixin_33586886的博客 482

Multisim仿真入门:单相半波可控整流电路从搭建到波形分析(附避坑指南)

本文为电力电子技术初学者提供了一份详细的Multisim仿真指南,手把手教你从零搭建单相半波可控整流电路。通过对比纯电阻、阻感负载及加入续流二极管后的波形变化,直观理解晶闸管触发、电感续流等核心原理,并附有实用的参数设置与常见问题避坑指南,帮助你将抽象理论转化为可视化的工程实践。

weixin_29208077的博客 343

java法定退休年龄计算器

计算方式:2025年起每4个月延迟1个月(例如2025年1月退休年龄为60岁1个月,2026年1月为60岁4个月,依此类推)。出生日期: 1990-09-14。出生日期: 1990-09-14。出生日期: 1990-09-14。退休年月: 2053年09月。退休年月: 2048年09月。退休年月: 2045年09月。(每2个月延迟1个月);(每4个月延迟1个月)。退休年龄: 63岁0个月。退休年龄: 58岁0个月。退休年龄: 55岁0个月。延迟月数: 36个月。延迟月数: 36个月。延迟月数: 60个月。

一个写了10年bug的程序员日常笔记。 619

Codesys软运动控制进阶:用SMC_FreeEncoder为ECAT轴搭建一个“虚拟手轮”调试工具

本文详细介绍了如何利用Codesys的SMC_FreeEncoder功能为ECAT轴搭建虚拟手轮调试工具,解决自动化设备开发中的硬件依赖问题。通过软件模拟手轮脉冲信号,实现无硬件依赖的运动控制逻辑验证,显著提升调试效率。适用于汇川AM400等PLC平台,特别适合机械安装滞后或伺服驱动器故障时的调试场景。

weixin_33737774的博客 477

半导体硅制造工艺

抛光液和硅片的反应速度很快,只要稍一停留,立刻便会腐蚀,因此取片时,不能在表面上留下抛光液,必须紧接着水抛,直至抛光液被全部冲去,再将片子取下。由于晶圆制造过程有各种各样的晶圆固定器和自动设备,需要严格的直径控制以减少晶圆翘曲和破碎,而单晶硅棒的外径表面并不平整且直径也比最终抛光晶片所规定的直径规格大,因此需要通过外径滚磨获得较为精确的直径。胶体的颗粒直径比磨料的颗粒直径小一个数量级,且硬度与硅相当,因此它比用磨料的机械抛光表面损伤更小,抛光出的硅片表面具有高度的镜面光洁。不受材料导电类型和电阻率的影响。

pgpaojiao的博客 2240

通过身份证号 计算退休日期 例男60岁,女55岁退休

Java通过身份证号 计算退休日期 例男60岁,女55岁退休 直接上代码 /** * 根据身份证号计算退休日期 * @return */ @ApiOperation("根据身份证号计算账号有效期") @ApiImplicitParams({@ApiImplicitParam(name = "cardId", value = "传身份证号", required = true, paramType = "query", dataType = "String")})

wahahage的博客 3096

C#解析基恩士(KEYENCE)PLC数据:KV协议通信与实时监控实现

KV协议是基恩士PLC使用的一种专用通信协议,通常用于与上位机进行数据交换。KV协议通过RS-232C、RS-485、Ethernet等接口与上位机通信,支持多种数据类型的读写,包括但不限于位、字、双字、浮点数等。简洁易用:KV协议的通信格式简单,易于实现。支持多种数据类型:支持位数据、字数据、定长字符串等。高效实时性:能够提供较高的实时数据交换性能,适合实时监控应用。本文介绍了如何通过C#与基恩士KV系列PLC进行通信,实现数据的解析和实时监控功能。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1806

按照最新政策 根据身份证号计算退休年龄

/男性原退休年龄60岁//女性原退休年龄55岁/*** 根据最新政策计算退休年龄* @param idCard 18位身份证号* @return*///1.1校验身份证阶段,对身份证进行严格校验//1.2身份证校验完成,如果成功的话,进行下一步,截取我们需要用到的内容if (!throw new RuntimeException("身份证校验失败");//1.3根据身份证第17位判断男女,获取性别。

岛森年的博客 587

YOLOv26全流程实战手册:从yaml配置拆解到训练推理参数调优(附虚拟环境搭建)

以“车辆、行人、小型物体”3类数据集为例,修改# 1. 修改类别数nc: 3# 2. 调整锚框(适配小目标)anchors:- [12,16, 16,24, 33,23] # 增加小锚框# 3. 轻量化调整(边缘部署)depth_multiple: 0.25 # 降低深度系数width_multiple: 0.20 # 降低宽度系数# 其余Backbone/Head结构不变yaml配置:核心是调整nc(类别数)、(轻量化)、anchors(适配目标尺度);虚拟环境。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 876

【目标检测】基于yolov5的安全帽佩戴检测系统(附代码和数据集)

【目标检测】基于yolov5的安全帽佩戴检测系统(附代码和数据集)

学无止境、积少成多、厚积薄发 3105

退休日期计算

根据新政策进行退休日期的延期计算

吗喽的博客 487

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

2025年1月1日起最新退休年龄算法Java实现最优方案

全国人民代表大会常务委员会关于实施渐进式延迟法定退休年龄的决定全国人民代表大会常务委员会关于实施渐进式延迟法定退休年龄的决定。

UTF8_8的博客 1736

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java实现2025年1月1日起最新退休年龄算法

【代码】Java实现2025年1月1日起最新退休年龄算法。

UTF8_8的博客 1136

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

基于springboot的老年人再就业管理系统(需求文档)

在本系统开发成功后,可以进一步开发。如今,国家和相关部门开重视老年人再就业的发展,老年人拥有丰富的工作经验和专业知识,再就业可以让老年人将这些经验和知识发挥出来,为社会做出更大的贡献。在老年人个人激励措施方面,各国主要通过养老金领取差异化制度设计、年龄专项补贴、调节税收、创业奖励、优惠利率贷款等,加强对老年人个体的激励,增加老年人就业的动力和创业的热情。1.老年人再就业管理系统的整体设计与实现:根据对国内外不同在线装修系统的了解与研究,合理安排本系统的各模块和功能,保证本系统的完整性、系统性、可靠性。

m0_73268882的博客 834

职场“年轻崇拜”?45岁程序员精通各种技术体系,却连个面试机会都没有

最近,一条程序员的留言《我精通各种技术体系,因已45岁求职难》引起广泛热议。​ ​​该网民自称Mary,其留言如下: 我是一名计算机专业出身的软件开发人员,今年45岁,精通 java 的各种技术体系,包括微服务、大数据等技术,并能应用到实际工作中,帮助所在公司提升、改造所使用的技术框架,业余我还考取了PMP项目管理证书、系统架构师证书,成为所在公司的系统架构师、核心技术骨干。 我对计算机理论的理解也随着​实践​的增多越来越深刻,我感觉我的职业生涯进入一生中最好的时刻。 在我儿子读初二上学期时,我

m0_46163918的博客 6438

45岁程序员发帖:精通各种技术体系,连个面试机会都没有!职场“35岁现象”怎么破?...

最近,一条留言,在社交媒体上引起热议。11月1日,有网民留言称,“我是一名软件开发人员,今年45岁,精通各种技术体系……而我辞职回家半年后再回来寻找工作机会的时候,却发现连个面试机会都很难得到。”近年来在网络上,35岁现象一直都是热议的话题,这份留言再次戳中了部分人的痛点。45岁程序员自曝求职遇阻上述网民自称Mary,其留言如下:我是一名计算机专业出身的软件开发人员,今年45岁,精通 java 的...

yyyy11119的博客 323

程序员的焦虑、迷茫......30岁到来,我真的慌了?

程序员的焦虑、迷茫......30岁到来,我真的慌了?

2201_75571291的博客 545

AI智能体质量保障:RAG验证与Python探针实战指南

AI智能体突破传统软件确定性边界,其质量保障需立足概率化行为建模与多层链路可追溯验证。核心原理在于将黑盒式LLM调用解耦为检索、重排序、生成三大可控环节,依托RAG架构构建知识注入的质量基础设施;技术价值体现为通过Python实现数据探查、接口胶水与自动化度量,使测试开发具备穿透式诊断能力。典型应用场景覆盖政务问答、电商推荐、金融咨询等需高事实准确率与强意图匹配的领域。本文聚焦RAG质量黄金三角(召回率/相关性/时效性)与Python作为AI系统‘内科探针’的工程落地方法论。

weixin_34124651的博客 121

ML模型上线不是终点,而是生产稳定性真正的起点

机器学习模型部署并非开发流程的收尾,而是系统进入真实业务环境的开端。其核心挑战在于模型与特征服务、API网关、数据库及下游业务系统的深度耦合,而非算法本身。延迟、数据漂移、集成脆弱性、失败处理机制等工程问题,直接决定AI能否持续创造业务价值。尤其在金融、风控、电商等高敏场景中,P99延迟、特征新鲜度、决策健康度等指标已演变为可量化的业务成本。本文聚焦MLOps落地中的关键实践:时效性契约设计、三级退化策略、可观测失败路径、漂移驱动的业务洞察,以及嵌入式合规治理,为从实验室模型迈向千万级稳定推理提供可复用的生

307

软件设计师成长路线图:系统思维、权衡意识与演化能力

软件设计师是解决复杂系统问题的技术翻译官与风险预判者,其核心能力不在于编码或绘图,而在于构建‘问题域-解法域-约束域’的三角映射,并在真实项目中持续锤炼系统思维、权衡意识和演化能力。这类能力支撑高可用架构设计、弹性衰减策略、质量负债管理及新兴技术缓冲带构建,广泛应用于金融、医疗、工业控制等中大型系统交付场景。它超越软考证书与理论背诵,强调可验证的决策链、可测量的业务指标和可闭环的项目证据——正是这些工程化实践,让软件设计从抽象概念落地为驱动系统稳健演进的底层操作系统。

weixin_30444111的博客 285
上一篇: javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 错误解决,同时支持开启SSL认证
下一篇: springboot3.x集成mybatis-plus代码生成工具
咚咚阳丶
博客等级 码龄15年 1968粉丝 91原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值