当前位置:首页 > JavaScript

用js实现六十甲子

2026-03-01 22:16:28JavaScript

六十甲子的实现方法

六十甲子是中国传统的干支纪年法,由天干(10个)和地支(12个)组合而成,共60种组合。以下是使用JavaScript实现六十甲子的方法:

定义天干和地支数组

const heavenlyStems = ['甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸'];
const earthlyBranches = ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥'];

生成六十甲子数组

function generateSexagenaryCycle() {
  const cycle = [];
  for (let i = 0; i < 60; i++) {
    const stemIndex = i % 10;
    const branchIndex = i % 12;
    cycle.push(heavenlyStems[stemIndex] + earthlyBranches[branchIndex]);
  }
  return cycle;
}

根据年份获取对应的六十甲子

function getSexagenaryYear(year) {
  // 1984年是甲子年,作为基准点
  const baseYear = 1984;
  const offset = (year - baseYear) % 60;
  // 处理负数情况
  const index = offset >= 0 ? offset : 60 + offset;
  return generateSexagenaryCycle()[index];
}

使用示例

const sexagenaryCycle = generateSexagenaryCycle();
console.log(sexagenaryCycle); // 输出完整的六十甲子数组

console.log(getSexagenaryYear(2023)); // 输出2023年对应的干支:癸卯
console.log(getSexagenaryYear(2000)); // 输出2000年对应的干支:庚辰

实现原理说明

天干有10个,地支有12个,它们的最小公倍数是60,因此每60年循环一次。1984年是甲子年,作为基准点,其他年份通过与1984年的差值计算对应的干支。

用js实现六十甲子

这种方法可以方便地获取任意年份的干支,也可以生成完整的六十甲子列表。可以根据需要扩展功能,如获取月份或日期的干支。

标签: 甲子js
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…