为了准确计算延迟退休时间,我做了一个退休年龄计算器

延迟退休计算方法

原本退休分为三种情况,男性,女工人,女干部

  • 男性:退休年龄为60岁。
  • 女干部:退休年龄为55岁。
  • 女工人:退休年龄为50岁。

现在延迟以后(根据2024年9月13日公布的规则)

  • 男性:退休年龄为63岁。
  • 女干部:退休年龄为58岁。
  • 女工人:退休年龄为55岁。

具体的退休时间可以参考以下图片:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

延迟退休计算器

代码实现:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>退休年龄计算器</title>
    <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-gray-100">
    <div class="max-w-2xl mx-auto p-8">
        <div class="bg-white p-6 rounded-lg shadow-lg">
            <div class="mb-4">
                <label class="block text-gray-700 text-lg font-bold mb-2">性别/职务:</label>
                <select id="gender" class="block w-full p-2 border border-gray-300 rounded-lg">
                    <option value="male">男性</option>
                    <option value="female_worker">女性-工人</option>
                    <option value="female_cadre">女性-干部</option>
                </select>
            </div>
            <div class="mb-4">
                <label class="block text-gray-700 text-lg font-bold mb-2">出生日期:</label>
                <input type="month" id="birthDate" class="block w-full p-2 border border-gray-300 rounded-lg" />
            </div>
            <div class="flex space-x-4 mb-6">
                <button id="calculateBtn" class="bg-blue-500 text-white py-2 px-4 rounded-lg">开始计算</button>
                <button id="clearBtn" class="bg-gray-500 text-white py-2 px-4 rounded-lg">清除</button>
            </div>
            <div id="result" class="mt-6">
                <table class="w-full bg-white shadow-md rounded-lg overflow-hidden">
                    <tbody>
                        <tr class="border-b">
                            <td class="p-4 text-gray-700">退休年龄</td>
                            <td id="retirementAge" class="p-4 text-blue-600"></td>
                        </tr>
                        <tr>
                            <td class="p-4 text-gray-700">退休日期</td>
                            <td id="retirementDate" class="p-4 text-red-600"></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>

    <script>
        document.getElementById('calculateBtn').addEventListener('click', function() {
            const genderType = document.getElementById('gender').value;
            const birthDateValue = document.getElementById('birthDate').value;
            if (birthDateValue) {
                const birthDate = new Date(birthDateValue);
                const birthYear = birthDate.getFullYear();
                const birthMonth = birthDate.getMonth() + 1;
                let retirementBaseAge = 50; 
                let additionalMonths = 0;

                if (genderType === 'male') {
                    if (birthYear >= 1965 && birthYear <= 1976) {
                        const startYear = 1965;
                        additionalMonths = calculateAdditionalMonths(birthYear, birthMonth, startYear, 4) + 1;
                    } else if (birthYear > 1976) {
                        additionalMonths = 36; 
                    }
                    retirementBaseAge = 60; 
                } else if (genderType === 'female_cadre') {
                    if (birthYear >= 1970 && birthYear <= 1981) {
                        const startYear = 1970;
                        additionalMonths = calculateAdditionalMonths(birthYear, birthMonth, startYear, 4) + 1;
                    } else if (birthYear > 1981) {
                        additionalMonths = 36; 
                    }
                    retirementBaseAge = 55;
                } else if (genderType === 'female_worker') {
                    if (birthYear >= 1975 && birthYear <= 1984) {
                        const startYear = 1975;
                        additionalMonths = calculateAdditionalMonths(birthYear, birthMonth, startYear, 2) + 1;
                    } else if (birthYear > 1984) {
                        additionalMonths = 60; 
                    }
                    retirementBaseAge = 50; 
                }

                const totalMonths = additionalMonths % 12;
                const additionalYears = Math.floor(additionalMonths / 12);
                const retirementYear = birthYear + retirementBaseAge + additionalYears;
                const retirementMonth = birthMonth - 1 + totalMonths;
                const retirementDate = new Date(retirementYear, retirementMonth, 1);

                document.getElementById('retirementAge').innerText = `${retirementBaseAge + additionalYears}${totalMonths}个月`;
                document.getElementById('retirementDate').innerText = `${retirementDate.getFullYear()}${retirementDate.getMonth() + 1}`;
            } else {
                alert("请选择出生日期!");
            }
        });

        function calculateAdditionalMonths(year, month, startYear, interval) {
            let monthsFromStart = (year - startYear) * 12 + month - 1;
            return Math.floor(monthsFromStart / interval); 
        }

        document.getElementById('clearBtn').addEventListener('click', function() {
            document.getElementById('retirementAge').innerText = '';
            document.getElementById('retirementDate').innerText = '';
            document.getElementById('birthDate').value = '';
        });
    </script>


</body>
</html>

在线地址https://black1099.github.io/Delaying-Retirement-Age-Calculator/

使用说明:部分浏览器不支持直接选择日期,可以在日期中自己输入,格式为2024-09

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瞎老弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值