最新退休年龄计算器 附计算方式及源码

最近国家发布了延迟退休的相关规定,点击链接计算自己的退休日期

 

图片[1]-最新退休年龄计算器 附计算方式及源码-梦溪博客

关于延迟退休的具体算法,网络上的信息显示存在一定的公式用于估算延迟退休年龄,但需要注意的是,这些公式可能不是官方最终确定的计算方式,而是基于当时政策讨论和预测形成的计算方法。以下是一些常见的延迟退休年龄计算公式:

女职工退休年龄 = 50 + 3 × (50 + 出生年份 – 当前年份) / 12
女干部退休年龄 = 55 + 3 × (55 + 出生年份 – 当前年份) / 12
男性退休年龄 = 60 + 3 × (60 + 出生年份 – 当前年份) / 12
例如,如果一位1980年出生的女职工,在2024年计算她的延迟退休年龄,则计算方式为:
50 + 3 × (50 + 1980 – 2024) / 12 = 50 + 3 × (50 – 4) / 12 = 50 + 3 × 46 / 12 ≈ 50 + 11.5 = 61.5岁

然而,这些计算方法可能随国家政策的变化而调整。实际上,延迟退休政策的实施通常会考虑多种因素,包括但不限于人口结构变化、平均预期寿命增长、劳动力市场状况等。因此,具体的延迟退休年龄可能会有所不同。

最新的政策动态表明,延迟退休将采取渐进式的方式实施,即逐步提高退休年龄,以减少对个人和社会的影响。根据相关报道,延迟退休政策预计将在2025年开始实施,并计划在15年内达到目标退休年龄。

为了获取最准确的信息,建议直接参考政府官方网站发布的最新公告或咨询相关部门,以确保了解最准确、最权威的延迟退休政策详情。

下面是该计算器的html代码,复制即可使用。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>退休年龄计算器</title>
<style>
body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.container {
    width: 50%;
    max-width: 600px;
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    text-align: center;
}

h1 {
    margin-bottom: 20px;
    color: #333;
}

form label, form input, form select {
    display: block;
    margin-bottom: 10px;
    text-align: left;
    width: 100%;
}

form input, form select {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100%;
}

form button {
    padding: 10px 20px;
    background-color: #007BFF;
    color: white;
    border: none;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

form button:hover {
    background-color: #0056b3;
}

#result {
    margin-top: 20px;
    padding: 10px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-align: left;
}

#result p {
    margin: 5px 0;
    color: #333;
}
</style>
</head>
<body>
<div class="container">
    <h1>退休年龄计算器</h1>
    <form id="retirementForm">
        <label for="birthYear">出生年份:</label>
        <input type="number" id="birthYear" required>

        <label for="birthMonth">出生月份:</label>
        <input type="number" id="birthMonth" min="1" max="12" required>

        <label for="gender">性别:</label>
        <select id="gender" required>
            <option value="male">男</option>
            <option value="female55">女(55岁退休)</option>
            <option value="female50">女(50岁退休)</option>
        </select>

        <button type="submit">计算退休年龄</button>
    </form>
    <div id="result"></div>
</div>
<script>
function calculateRetirement(yearOfBirth, monthOfBirth, type) {
  function monthDiff(fromYear, fromMonth, toYear, toMonth) {
    return (toYear - fromYear) * 12 + toMonth - fromMonth;
  }

  function addMonths(date, months) {
    date.setMonth(date.getMonth() + months);
    return date;
  }

  let retirementAge = '';
  let retirementTime = '';
  let delayMonths = 0;

  if (type === 'male') {
    if (yearOfBirth < 1965) {
      retirementAge = '60岁';
      delayMonths = 0;
    } else if (yearOfBirth > 1976) {
      retirementAge = '63岁';
      delayMonths = 36;
    } else {
      const diff = Math.ceil(monthDiff(1965, 1, yearOfBirth, monthOfBirth) / 4);
      const extraYears = Math.floor(diff / 12);
      const extraMonths = diff % 12;
      retirementAge = `${60 + extraYears}岁${extraMonths > 0 ? `${extraMonths}个月` : ''}`;
      delayMonths = diff;
    }
  } else if (type === 'female55') {
    if (yearOfBirth < 1970) {
      retirementAge = '55岁';
      delayMonths = 0;
    } else if (yearOfBirth > 1981) {
      retirementAge = '58岁';
      delayMonths = 36;
    } else {
      const diff = Math.ceil(monthDiff(1970, 1, yearOfBirth, monthOfBirth) / 4);
      const extraYears = Math.floor(diff / 12);
      const extraMonths = diff % 12;
      retirementAge = `${55 + extraYears}岁${extraMonths > 0 ? `${extraMonths}个月` : ''}`;
      delayMonths = diff;
    }
  } else if (type === 'female50') {
    if (yearOfBirth < 1975) {
      retirementAge = '50岁';
      delayMonths = 0;
    } else if (yearOfBirth > 1984) {
      retirementAge = '55岁';
      delayMonths = 60;
    } else {
      const diff = Math.ceil(monthDiff(1975, 1, yearOfBirth, monthOfBirth) / 2);
      const extraYears = Math.floor(diff / 12);
      const extraMonths = diff % 12;
      retirementAge = `${50 + extraYears}岁${extraMonths > 0 ? `${extraMonths}个月` : ''}`;
      delayMonths = diff;
    }
  }

  const retirementStartDate = addMonths(
    new Date(yearOfBirth, monthOfBirth - 1),
    (type === 'male' ? 60 : type === 'female55' ? 55 : 50) * 12 + delayMonths,
  );
  retirementTime = `${retirementStartDate.getFullYear()}年${retirementStartDate.getMonth() + 1}月`;

  return {
    retirementAge,
    retirementTime,
    delayMonths: `${delayMonths}个月`,
  };
}

document.getElementById('retirementForm').addEventListener('submit', function(event) {
  event.preventDefault();

  const birthYear = parseInt(document.getElementById('birthYear').value);
  const birthMonth = parseInt(document.getElementById('birthMonth').value);
  const gender = document.getElementById('gender').value;

  const result = calculateRetirement(birthYear, birthMonth, gender);

  document.getElementById('result').innerHTML = `
    <p>退休年龄: ${result.retirementAge}</p>
    <p>退休时间: ${result.retirementTime}</p>
    <p>延迟退休月数: ${result.delayMonths}</p>
  `;
});
</script>
</body>
</html>
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容